1
我的文件是这样的:如何使用awk打印出最后的模式范围?
/开始模式/
第一场比赛
/结束模式/其他文本
/开始模式/
秒比赛
/结束图案/其他文字
/开始模式/
这是一个我 想打印出来
/结束 模式/
其他文本
我怎样才能打印出来用awk的最后一场比赛?我只知道如何打印出所有这些比赛。
我的文件是这样的:如何使用awk打印出最后的模式范围?
/开始模式/
第一场比赛
/结束模式/其他文本
/开始模式/
秒比赛
/结束图案/其他文字
/开始模式/
这是一个我 想打印出来
/结束 模式/
其他文本
我怎样才能打印出来用awk的最后一场比赛?我只知道如何打印出所有这些比赛。
awk 'END { print r }
/end pattern/ { f = x }
/begin pattern/ { f = 1; r = x }
f++ > 1 { r = r ? r RS $0 : $0 }
' infile
存储当前的匹配,并使用END块将其打印出来:
awk '/end pattern/{flag=0} flag{m=$0} /begin pattern/{flag =1} END{print m}' file
这工作如果只有一个线之间/开始模式/和/结束模式/。