我有一个如下所示的文件,我想打印两个给定模式 PAT1 和 PAT2 之间的线条。
1
2
PAT1
3
4
PAT2
5
6
PAT2
7
PAT2
8
9
PAT2
10
此处 PAT1 出现一次,但 PAT2 出现多次。我想打印 PAT1 和第三次出现的 PAT2 之间的行
我使用下面的命令在模式之间打印,在这种情况下不起作用
awk '/PAT1/PAT2/'
我期待下面的输出
PAT1
3
4
PAT2
5
6
PAT2
7
PAT2
我该怎么做?
最佳答案
显然这是可行的:
$ awk '/PAT1/,/PAT2/&&++c==3' file
PAT1
3
4
PAT2
5
6
PAT2
7
PAT2
查看有关其工作原理的评论。
关于linux - 在多次出现第二个图案的两个图案之间打印线条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50484387/