我有一个包含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中执行此操作?
答案 0 :(得分:3)
使用sed:
sed -n '/<abstract>[^<]*abstract1/p' input
答案 1 :(得分:1)
更新
grep -nir "<abstract>.*word.*</abstract>" filename