![有没有办法将 IE 收藏夹转换为 Firefox 的 bookmark.htm 格式?](https://linux22.com/image/31118/%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E5%B0%86%20IE%20%E6%94%B6%E8%97%8F%E5%A4%B9%E8%BD%AC%E6%8D%A2%E4%B8%BA%20Firefox%20%E7%9A%84%20bookmark.htm%20%E6%A0%BC%E5%BC%8F%EF%BC%9F.png)
从 Windows 切换到 Linux 后,我留下了一个最喜欢的目录,其中包含子文件夹和.url
文件,每个文件包含几行文本,如下所示:
[DEFAULT]
BASEURL=http://www.example.com/faq.html
[InternetShortcut]
URL=http://www.example.com/faq.html
Modified=70E5E788C3B9C9010A
由于我的 Linux 系统上没有安装 Internet Explorer,因此无法将书签直接导入到我当前的 Firefox 浏览器中。
我想知道是否有一种快速方法可以从所有文件中提取 URL.url
以及文件名来生成一个.htm
可以导入到任何现代浏览器的文件。
答案1
你可以用一点 perl 来做到这一点:
#!/usr/bin/perl
use strict;
use warnings qw(all);
use HTML::Entities qw(encode_entities);
use Config::IniFiles;
use File::Spec;
foreach my $f (@ARGV) {
my $ini = Config::IniFiles->new( -file => $f );
my (undef, undef, $name) = File::Spec->splitpath($f);
$name =~ s/\.url$//; # / # this comment un-confuses the syntax highlighter
my $name_esc = encode_entities($name);
my $url_esc = encode_entities($ini->val('InternetShortcut', 'URL'));
print <<HTML
<a href="$url_esc">$name_esc</a>
HTML
}
那应该可以很好地处理一切。您可以使用grep
& cut
,但是您必须希望不需要转义,并且 ini 格式 .url 文件中的部分并不重要。