【发布时间】:2012-10-20 04:36:34
【问题描述】:
我应该使用什么命令从位于“test.html”文件中的以下 html 代码中提取文本,该文件包含:“<span id="imAnID">extractme</span>”?
文件会更大,所以我需要将 grep 或 sed 指向一个 id,然后告诉它只从具有该 ID 的标签中提取文本。 假设我从文件所在的目录运行终端,我正在这样做:
cat test.html | sed -n 's/.*<span id="imAnID">\(.*\)<\/span>.*/\1/p'
我做错了什么?我得到一个空输出... 不反对为此使用 grep,如果它更容易的话。
【问题讨论】:
-
它对我有用...不是源数据的问题吗?
-
是的,但最终文件中还有其他 HTML 代码,此时上述命令产生 null...
-
只是在飞鸟上射击,但也许您正试图在多行上使用正则表达式进行匹配?尝试添加 N;到您的 sed 模式... line 'N;s/.*