【发布时间】:2023-03-26 06:46:02
【问题描述】:
我想分析我网页的某些方面。例如,我想查看所有 alt 标签的值。对于示例,我创建了包含少量 alt 标记的简单 html 代码。假设代码中的标签是:
alt='Text-01'
alt='Text 02'
alt=''
alt='Some long text'
然后我尝试了命令:
grep -o "alt='*'" my-page.html
输出是:
alt='
alt='
alt=''
alt='
我希望看到像这样的输出:
Text-01
Text 02
empty line or alt=''
Some long text
或者这个:
alt='Text-01'
alt='Text 02'
alt=''
alt='Some long text'
你能帮我实现吗?
【问题讨论】:
-
试试:
grep -o "alt='.*'" my-page.html -
您提供给 grep 的模式没有意义。您正在寻找
alt=,后跟一系列一个或多个单引号。 -
grep -oP "alt='\K[^']+" file或grep -oP "\salt='\K[^']+" file -
试图通过简单的模式匹配来解析 HTML 很容易出错。这里是some examples 的 HTML,它将与 grep 解决方案发生冲突。最安全的方法是使用您使用的任何语言的 HTML 解析器。
-
谢谢!这是工作!
标签: html grep html-parsing