【发布时间】:2012-07-20 05:39:55
【问题描述】:
我通常处理大型 XML 文件,并且通常通过 grep 进行字数统计以确认某些统计数据。
例如,我想通过以下方式确保在单个 xml 文件中至少有五个 widget 实例:
cat test.xml | grep -ic widget
另外,我只是希望能够记录widget 出现的行,即:
cat test.xml | grep -i widget > ~/log.txt
然而,我真正需要的关键信息是widget 出现的XML 代码块。示例文件可能如下所示:
<test> blah blah
blah blah blah
widget
blah blah blah
</test>
<formula>
blah
<details>
widget
</details>
</formula>
我正在尝试从上面的示例文本中获取以下输出,即:
<test>widget</test>
<formula>widget</formula>
实际上,我正在尝试获取具有最高级别标记标记的单行,这些标记标记适用于围绕任意字符串 widget 的 XML 文本/代码块。
是否有人对通过命令行单行执行此操作有任何建议?
谢谢。
【问题讨论】:
-
看看this post。也许你有一些想法。