直接上shell命令:
awk 'BEGIN{index2=1;sum=0;}{if($0~"1003"){index2=NR;sum++;print "第"NR"行: " ,$0;} else if (NR<index2+3 ) {print $0} else if (NR==index2+3){print "\n\n\n"}}END{print "共搜索到"sum"条"}' error.log.2018-04-17.log
命令解释:
命令执行结果:
store_error.log.2018-04-17.log 内容如下:
100300,aaa
aaaaaaaaaaabbbb
111111111111111
1
1
1
1
1
1003,bbb
bbbbbbbbbbbbbb
2222222222222222
2
2
2
2
2
2
1003.ccc
cccccccccccccccc
33333333333333333
3
3
3
3
3
awk 参数说明:
-f(小写):指定awk脚本;
-F(大写):指定分隔符;
-v:指定变量
参考:
http://hw1287789687.iteye.com/blog/2419653
http://hw1287789687.iteye.com/blog/2419658
https://www.tuicool.com/articles/2mqmYbe
https://my.oschina.net/huangweiindex/blog/1799244