0

我有一个包含 XML 标签的文件。每行都有一个根元素和几个子元素。结构类似于这样

<document><title>some title1</title><abstract>Some abstract1</abstract></document>
<document><title>some title2</title><abstract>Some abstract2</abstract></document>
<document><title>some title3</title><abstract>Some abstract3</abstract></document>
<document><title>some title4</title><abstract>Some abstract4</abstract></document>

现在我必须找到标签包含特定单词的所有行。<abstract>例如:获取标签内包含 abstract1 的所有行。

如何在 grep、awk 或 sed 中执行此操作?

4

2 回答 2

3

使用 sed:

sed -n '/<abstract>[^<]*abstract1/p' input
于 2013-03-20T05:24:55.987 回答
1

更新:

    grep  -nir  "<abstract>.*word.*</abstract>" filename
于 2013-03-20T05:22:57.387 回答