在同一行中的两对标签之间获取文本

时间:2015-05-07 14:31:47

标签: grep

我在同一行中有两对标签,我想分别在它们之间获取字符串。

echo 'the <key>text</key> between the two "<key>pairs</key>" and so on' | grep -o '<key>.*</key>'

返回两对之间的文字,但我的目标是获取文字&#39;和&#39;对&#39;仅返回

感谢指示

gawk -v RS='</?key>' 'RT=="</key>"'

完成工作

1 个答案:

答案 0 :(得分:2)

使用GNU awk进行多字符RS:

$ echo 'the <key>text</key> between the two "<key>pairs</key>" and so on' |
gawk -v RS='</?key>' '!(NR%2)'
text
pairs