html - 在 HTML 文件中查找特定标签

标签 html regex linux bash

我有一些 html 文件,想提取一些标签之间的内容: 页面标题 这里有一些标记的内容。

<p>A paragraph comes here</p>
<p>A paragraph comes here</p><span class="more-about">Some text here</span><p class="en-cpy">Copyright &copy; 2012 </p>

我只想要这些标签:head, p 但是从第二段可以看出,最后一个标签是以 p 开头但不是我想要的标签,我不想要它的内容。 我使用以下脚本来提取我想要的文本,但我无法过滤掉标签,例如我的示例中的最后一个标签......怎么可能只提取 <p>标签?

grep "<p>" $File | sed -e 's/^[ \t]*//'

我必须补充一点,最后一个标签(我不想出现在输出中)就在我想要的标签之一之后(就像在我的示例中一样)并使用 grep 命令该行的所有内容将作为输出返回...(这是我的问题)

最佳答案

不要。尝试使用 regex 解析 HTML 将是 painful .使用 RubyNokogiri 之类的东西,或者您熟悉的类似语言 + 库。

关于html - 在 HTML 文件中查找特定标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11288244/

相关文章:

JavaScript、正则表达式和链接

linux - 如何将D中的纪元时间(unix时间戳)转换为标准时间(年月日)

linux - 在Linux中,以认真的方式进行轮询

javascript - 启动按钮以启用和恢复动画,而无需在双击时再次重复该功能(javascript)

HTML/CSS 关闭按钮与右/上 Angular 重叠

html - CSS - 使用 .left 和 .right 类

ruby - 在 Vagrant 配置期间使用 Sed 将行附加到文件

javascript - Puppeteer:如何下载整个网页供离线使用

python - 文件名有空格的 Pyspark 错误处理

python - 如何使用 Python 中的正则表达式获取最右边的字符加上双引号之间的文本