【发布时间】:2021-06-11 23:13:03
【问题描述】:
这是一个HTML文件,其中包含大量<section>... </section>内容的HTML文件,格式如下。
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<section>
<div>
<header><h2>This is a title (RfQVthHm)</h2></header>
More HTML codes...
</div>
</section>
<section>
<div>
<header><h2>This is a title (UaHaZWvm)</h2></header>
More HTML codes...
</div>
</section>
<section>
<div>
<header><h2>This is a title (vxzbXEGq)</h2></header>
More HTML codes...
</div>
</section>
</body>
</html>
我需要提取第二个<section>...</section> 内容。
这是预期的输出。
<section>
<div>
<header><h2>This is a title (UaHaZWvm)</h2></header>
More HTML codes...
</div>
</section>
我注意到我可以先查找 UaHaZWvm 字符(以及前面 2 行),直到遇到下一个 </section>。
OP的努力(在cmets中提到):grep -o "hi.*bye" file
这可以使用awk、sed 或grep 工具来完成吗?
【问题讨论】:
-
请在您的问题中以代码的形式添加您的努力,这是非常鼓励的,谢谢。
-
@RavinderSingh13 对不起,我没有从网络查询中找到可行的解决方案,所以我在这里问。之前看了grep文档,发现可以使用
grep -o "hi.*bye" files.html来获取指定范围的内容,但是不太行。 -
@Lorraine1996。您可以在段落模式下使用
awk并提取您想要出现(UaHaZWvm)的部分。 -
@Lorraine1996,请在您的问题中添加您尝试过的代码(以避免对您的问题投赞成票),我们都在这里学习没有错或对,所以请添加显示的代码在您的问题中作为您的努力,谢谢。
-
@CarlosPascual 抱歉,我会查看 awk 文档。有进展会在这里更新。