我想http://www.rediff.com/news
从下面的<a>
标签中提取链接
<a href="http://www.rediff.com/news" onclick="trackURL('http://track.rediff.com/click?url=___http://www.rediff.com/news___&cmp=news1_nav&lnk=news1_nav&nsrv1=ushome');return false;"><div class="n_tabnormal">News</div></a>
使用一些 Unix 命令。请不要为此进行硬编码。
答案1
使用 XML/HTML 解析器是操作 XML/HTML 数据的正确方法:
xmlstarlet解决方案:
sed 's/&/&/g' yourfile | xmlstarlet sel -t -v '//a[div/text() = "News"]/@href' -n
输出:
http://www.rediff.com/news
sed 's/&/&/g'
- 将 & 符号&
作为特殊字符转换为 HTML 实体//a[div/text() = "News"]/@href
- xpath表达式,如果标签有带有文本的子节点,则提取标签href
的属性值a
div
News