【发布时间】:2016-09-02 12:13:15
【问题描述】:
我有一个 HTML 文件,我只需要获取其中的特定部分。这里最大的挑战是这个 HTML 文件没有换行符,所以我的 grep 表达式不能正常工作。
这是我的 HTML 文件:
<a href="/link1" param1="data1_1" param2="1_2"><p>Test1</p></a><a href="/link2" param1="data1_1" param2="1_2"><p>Test2</p></a>
请注意,我在这条线上有两个锚点 (<a>)。
我想获得第二个锚点,我正在尝试使用它:
cat example.html | grep -o "<a.*Test2</p></a>"
不幸的是,这个命令返回整行,但我只想要:
<a href="/link2" param1="data1_1" param2="1_2"><p>Test2</p></a>
我不知道如何使用 grep 或 sed 执行此操作,非常感谢任何帮助。
【问题讨论】:
-
使用 XML/HTML 解析器(xmllint、xmlstarlet ...)。
标签: shell awk sed scripting grep