Linux获取特定行的前后几行命令

Linux获取特定行的前后几行命令

【Linux获取特定行的前后几行命令】场景:
一般我们都是grep wordfilename输出某行,如果想要输出包括该行上下文的n行呢?
比如:
filename:
helloworld
workhard
chinaunix
shell
linux
helloworld
workhard
chinaunix
shell


我想输出"linux"所在行的前后2行,得到下面的输出结果:
chinaunix
shell
linux
helloworld
workhard


-------------------------------------------------------大家先思考一下哦----------------------------------------------







解决方法:
1.grep -C 2 'linux'
2.grep -w -A2 -B2 'linux'
## -A2:后两行
-B2:前两行
3.sed -n ':1; N; /linux/{N; N; p; q}; 3,$D; b1' i


一起学习!

    推荐阅读