![IE 즐겨찾기를 Firefox의 Bookmark.htm 형식으로 변환하는 방법이 있습니까?](https://linux55.com/image/31118/IE%20%EC%A6%90%EA%B2%A8%EC%B0%BE%EA%B8%B0%EB%A5%BC%20Firefox%EC%9D%98%20Bookmark.htm%20%ED%98%95%EC%8B%9D%EC%9C%BC%EB%A1%9C%20%EB%B3%80%ED%99%98%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%B4%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.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
이스케이프가 필요하지 않고 .url 파일의 ini 형식 부분이 중요하지 않기를 바랍니다.