繁体   English   中英

awk:如果找到模式,则对行进行计数,直到第一个空行

[英]awk: if pattern is found, count lines until the first empty line

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

...
PATTERN 
BBBB
CCCC

...

它应该打印:2

我试过的

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

您可以使用以下awk

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM