bookmarks.pl

来自「#用法: perl -f bookmarks.pl "firefox 书签的完整」· PL 代码 · 共 46 行

PL
46
字号
use strict;
use warnings;
use Encode;
my %hash;
my ($num,$book_marks,$tag,$dir,$string,$num1,$filename,$url);
$ARGV[0] =~ s|\\|/|g;
open (BK,"$ARGV[0]")||die "can not open file";
$dir=0;
foreach(<BK>){
     if(eof()){last}
     $string = encode("gbk", decode("utf8", $_));
     if($string =~ m/<DT><H3 add_date=[^>]+>(.+)<\/h3>$/i){
         $dir=$1;
         mkdir "$1";
         }
     if($string =~ m/(<\/DL><p>)$/g){$dir="next:directory";}
     if("$dir" ne "next:directory"){
           if($string =~ m/<DT><A HREF=\042([^\042]+).+add_date=.+>(.+)<\/A>$/ig){
                $tag=$2;
                $filename=$2.'.url';
                if($hash{"$tag"}){$filename="$hash{$tag}".$filename}
                $url='url='.$1;
                $hash{$tag}++;
                $filename =~ s|[\|\\\?<>\042:/]||g;
                if(open (OUT,">$dir/$filename")){
                    print OUT "[InternetShortcut]\n";
                    print OUT "$url";
                    close OUT;
                }
                }
                } else {
                    if($string =~ m/<DT><A HREF=\042([^\042]+).+add_date=.+>(.+)<\/A>$/ig){
                         $tag=$2;
                         $filename=$2.'.url';
                         if($hash{"$tag"}){$filename="$hash{$tag}".$filename}
                         $url='url='.$1;
                         $hash{$tag}++;
                         $filename =~ s|[\|\\\?<>\042:/]||g;
                         if(open (OUT,">$filename")){
                            print OUT "[InternetShortcut]\n";
                            print OUT "$url";
                            close OUT;
                            }
                         }
                                     }
                  }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?