如何使用awk打印出最后的图案范围? [英] How to print out the last patterns range using awk?
本文介绍了如何使用awk打印出最后的图案范围?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的文件是这样的:
/开始模式/
首个比赛
/end模式/
/begin pattern/
first match
/end pattern/
其他文字
/开始模式/
第二次比赛
/end模式/
/begin pattern/
second match
/end pattern/
其他文字
/开始模式/
这是我
想要打印
/结束
模式/
其他文字
/begin pattern/
This is the one I
want to print out
/end
pattern/
other text
如何使用awk打印出最后一场比赛?我只知道如何打印所有这些匹配项.
How can I print out the last match using awk? I just know about how to print out all these matches.
推荐答案
awk 'END { print r }
/end pattern/ { f = x }
/begin pattern/ { f = 1; r = x }
f++ > 1 { r = r ? r RS $0 : $0 }
' infile
这篇关于如何使用awk打印出最后的图案范围?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文