打印关键字的前后3行

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wang725/article/details/89376775

1. 用grep定位关键字所在的行号

grep -n 关键字 文件名

如获取文件最后一个字符串"failed"的行号

grep -n failed test.log | tail -1 | cut -d : -f 1

2. linux系统中,利用grep打印匹配的上下几行

    $grep -5 'parttern' inputfile //打印匹配行的前后5行
     
    $grep -C 5 'parttern' inputfile //打印匹配行的前后5行
     
    $grep -A 5 'parttern' inputfile //打印匹配行的后5行
     
    $grep -B 5 'parttern' inputfile //打印匹配行的前5行

3. 利用sed命令打印第10行的下面3行

    sed -n "10, +3p" 文件名

+3p:下面3行

4. 利用awk命令提取关键字的下面3行

如打印"failed"关键字下面3行

awk '/failed/{n=4}--n>=0' 文件名

或者

awk '/failed/{n=3;next}--n>=0' 文件名

猜你喜欢

转载自blog.csdn.net/wang725/article/details/89376775