awk:如果找到模式,则计算直到第一个空行的行

时间:2017-03-20 20:51:53

标签: regex awk

在大型文档中,一旦找到模式,计算从模式的下一行到第一个空行的所有行:

...
PATTERN 
BBBB
CCCC

...

应打印:2

我尝试过:

awk '/PATTERN/{print $0}' file | wc-l

1 个答案:

答案 0 :(得分:5)

您可以使用此awk

awk -v p='PATTERN' '$0 ~ p{n=NR} n && !NF{print NR-n-1; exit}' file

2
  • 当我们发现模式时,将变量n设置为当前行号,即NR
  • 当我们找到下一个空行时,我们会打印差异