shell – 如何使用awk在文件中的模式之后打印5个连续的行

前端之家收集整理的这篇文章主要介绍了shell – 如何使用awk在文件中的模式之后打印5个连续的行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在文件搜索一个模式,并在找到该模式后打印5行。
我需要使用awk才能做到这一点。

例:
文件内容

.
.
.
.
####PATTERN#######
#Line1
#Line2
#Line3
#Line4
#Line5
.
.
.

如何解析文件并只打印上面提到的行?
我使用包含“PATTERN”的行的NR,并持续增加5,并打印过程中的每一行。
如果在Awk中有其他有效的wat,请告诉我。

在AWK中另一种做法:
awk '/PATTERN/ {for(i=1; i<=5; i++) {getline; print}}' inputfile

在sed中

sed -n '/PATTERN/{n;p;n;p;n;p;n;p;n;p}' inputfile

要么

sed -n '1{x;s/.*/####/;x};/PATTERN/{:a;n;p;x;s/.//;ta;q}' inputfile

#个字符代表一个计数器。使用少于要输出的行数。

猜你在找的Bash相关文章