Linux获取特定行的前后几行命令
场景:
一般我们都是grep word filename输出某行,如果想要输出包括该行上下文的n行呢?
比如:
filename:
hello world
work hard
chinaunix
shell
linux
hello world
work hard
chinaunix
shell
我想输出"linux"所在行的前后2行,得到下面的输出结果:
chinaunix
shell
linux
hello world
work hard
-------------------------------------------------------大家先思考一下哦----------------------------------------------
解决方法:
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