搜索与XML标记内的模式匹配的文本

时间:2013-03-20 05:15:01

标签: sed awk grep unix

我有一个包含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中执行此操作?

2 个答案:

答案 0 :(得分:3)

使用sed:

sed -n '/<abstract>[^<]*abstract1/p' input

答案 1 :(得分:1)

更新

    grep  -nir  "<abstract>.*word.*</abstract>" filename