我想要提取出从chromium里导出的书签的url。下面是bookmarks.html里的一个片断。请高手帮忙写一个脚本或者命令行来得到url。谢谢
<!DOCTYPE NETSCAPE-Bookmark-file-1>
<!-- This is an automatically generated file.
It will be read and overwritten.
DO NOT EDIT! -->
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
<TITLE>Bookmarks</TITLE>
<H1>Bookmarks</H1>
<DL><p>
<DT><H3 ADD_DATE="0" LAST_MODIFIED="1293430925" PERSONAL_TOOLBAR_FOLDER="true">Bookmarks Bar</H3>
<DL><p>
<DT><A HREF="https://www.google.com/reader/view/" ADD_DATE="1286711776" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACRklEQVQ4jW2SS0hUYRTHf3fuvJ1p1CFprCwLwkQzUIpoE1hQYES7chMYCLkpgvZtKmzfJqJWCrWQKNxli2gj2IgwIBiTD6RobGbUeTn3fo8Wd7jmtbM6538e3/8752/gsfL4mAawCpvIyg4A9XyR8mrOrel49ZZod48B4Ptf">Reader</A>
[solved]使用sed和awk提取出浏览器导出的书签的网址
- numbchild
- 帖子: 107
- 注册时间: 2010-03-16 12:34
[solved]使用sed和awk提取出浏览器导出的书签的网址
上次由 numbchild 在 2010-12-28 23:12,总共编辑 1 次。
My Blog: http://stardiviner.tumblr.com/
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
- numbchild
- 帖子: 107
- 注册时间: 2010-03-16 12:34
Re: 使用sed和awk提取出浏览器导出的书签的网址
哈哈,第一次得到ee大神的回复,很高兴,问题已解决。最近正在看O'reilly 的sed awk的书。外加linux内核分析,不过这本书不知道哪本书比较正规点,eexpress 写了:perl 才适合,一句话,读入到数组。
@url=m"(?:http|mms|rtsp)://[^\s]*"g;
My Blog: http://stardiviner.tumblr.com/
- realfiona
- 帖子: 137
- 注册时间: 2007-11-20 10:58
- 来自: Hangzhou, China
- 联系:
Re: [solved]使用sed和awk提取出浏览器导出的书签的网址
使用sed提取链接并且保存到backup.txt文件中,假设导出的书签文件为bookmarks.html。Firefox和Chrome的文件格式类似,方法也几乎相同,除了Firefox有place:开头的链接(?忘记怎么描诉了),所以在Firefox中要剔除这些链接。下面是命令:
Firefox:
Chrome:
主要是这个替换命令, 对应着boomarks中的格式, 0或多个空格开始,跟着<DT><A HREF="链接地址" ADD_DATE .......>链接描述</a>
目的就是要把书签链接地址取出来, 因此弄个正则表达式分组 \([^"]*\) 来表示链接地址部分
Firefox:
代码: 全选
sed -n -e '/place:/!s/\s*<DT><A HREF="\([^"]*\)".*/\1/w backup.txt' bookmarks.html
代码: 全选
sed -n -e 's/\s*<DT><A HREF="\([^"]*\)".*/\1/w backup.txt' bookmarks.html
代码: 全选
s/\s*<DT><A HREF="\([^"]*\)".*/\1/p
- numbchild
- 帖子: 107
- 注册时间: 2010-03-16 12:34
Re: [solved]使用sed和awk提取出浏览器导出的书签的网址
谢谢ls讲解的这么详细.realfiona 写了:使用sed提取链接并且保存到backup.txt文件中,假设导出的书签文件为bookmarks.html。Firefox和Chrome的文件格式类似,方法也几乎相同,除了Firefox有place:开头的链接(?忘记怎么描诉了),所以在Firefox中要剔除这些链接。下面是命令:
Firefox:Chrome:代码: 全选
sed -n -e '/place:/!s/\s*<DT><A HREF="\([^"]*\)".*/\1/w backup.txt' bookmarks.html
主要是这个替换命令, 对应着boomarks中的格式, 0或多个空格开始,跟着<DT><A HREF="链接地址" ADD_DATE .......>链接描述</a>代码: 全选
sed -n -e 's/\s*<DT><A HREF="\([^"]*\)".*/\1/w backup.txt' bookmarks.html
目的就是要把书签链接地址取出来, 因此弄个正则表达式分组 \([^"]*\) 来表示链接地址部分代码: 全选
s/\s*<DT><A HREF="\([^"]*\)".*/\1/p

My Blog: http://stardiviner.tumblr.com/