所以有这个网站显示最受欢迎的网站。我正在尝试编写一个将带有两个参数的脚本:第一个是html文件,第二个是文本文件。所有网站的网址都应该转到第二个参数,所以最后文本文件应该包含以下内容:
http://www.website1.com/
http://www.website2.com/
...
如果我说
cat argument1.html
打印这样的东西:
<a href="http://babelfish.altavista.com/babelfish/trurl_pagecontent?lp=en_nl&url=http%3A%2F%2Fwww.100bestwebsites.org%2F"><img src="Holland.gif" height="33" width="50"><br>DUTCH</a></font></div></td>
<td width="10%">
<div align="center"><font face="Arial, Helvetica, sans-serif" size="2"><a href="http://babelfish.altavista.com/babelfish/trurl_pagecontent?lp=en_el&url=http%3A%2F%2Fwww.100bestwebsites.org%2F"><img src="Greece.gif" height="33" width="50"><br>GREEK</a></font></div></td>
所以你们可以看到有很多角色,但在中间的某个地方实际上有网站。我需要使用grep和sed。
感谢任何帮助。我知道grep和sed的基础知识,但它找到了基础是不够的。
答案 0 :(得分:2)
然后你去:
cat argument1.html | grep -o '<a href=['"'"'"][^"'"'"']*['"'"'"]' | sed -e 's/^<a href=["'"'"']//' -e 's/["'"'"']$//'
或
cat argument1.html | grep -o '<a .*href=.*>' | sed -e 's/<a/\n<a/g' | sed -e 's/<a .*href=['"'"'"]//' -e 's/["'"'"'].*$//' -e '/^$/ d'
信用:Easiest way to extract the urls from an html page using sed or awk only