【发布时间】:2021-12-19 20:37:31
【问题描述】:
使用这个命令:
sed -n '/<article class.*article--nyheter/,/<\/article>/p' news2.html > onlyArticles.html
我在我的 html 文档中获得了所有这些文章的标签。它们大约有 50 多篇文章。
示例输入:
<article class="article column large-12 small-12 article--nyheter">
... variable number of lines of dat
</article>
<article class="article column large-12 small-12 article--nyheter">
... variable number of lines of dat
</article>
<article class="article column large-12 small-12 article--nyheter">
... variable number of lines of dat
</article>
<article class="article column large-12 small-12 article--nyheter">
... variable number of lines of dat
</article>
我只想要 x 篇文章。就像前 2 篇文章一样。
输出:
<article class="article column large-12 small-12 article--nyheter">
... variable number of lines of dat
</article>
<article class="article column large-12 small-12 article--nyheter">
... variable number of lines of dat
</article>
这只是一个例子。我想要实现的是只选择 (x) 个匹配节点。
有什么办法吗?不能只使用简单的head 或tail,因为我需要提取匹配的元素而不仅仅是一些x 行。
【问题讨论】:
-
请Don't Parse XML/HTML With Regex.。我建议使用 XML/HTML 解析器(xmlstarlet、xmllint ...)。
-
我目前无法使用任何解析器。谢谢:)