首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux下根据关键字搜索日志

cat filename |grep 关键字 -C10  上面显示关键字的前后10行            -C显示前后多少行

cat filename |grep 关键字 -A10  上面显示关键字的后10行              -A显示后多少行

cat filename |grep 关键字 -B10  上面显示关键字的前10行              -B显示前多少行

Linux下根据关键字搜索最后一条日志

场景有的时候,我们需要针对应用日志分析某个请求后产生的报错信息,但是由于应用的日志很多,我们只想获取第一次请求的前几行、后几行数据,或者 最后一次请求的请求前几行、后几行数据

分析

(0)文件aaa.txt内容

(1)在文件名中搜索关键字出现的行

     grep “关键字” 文件名

(2)在文件名中搜索关键字出现的行,并显示行号

     grep -n “关键字” 文件名

(3)搜索关键字所在行以及后n行

     grep -A n “关键字” 文件名

   备注:A,after

(4)搜索关键字所在行以及前n行

     grep -B n “关键字” 文件名

    备注:B,Before

(5)搜索关键字所在行以及前后n行

     grep -C n “关键字” 文件名

(6)搜索关键字第一次出现位置的前后M行

     grep -C M “关键字” 文件名 |head -n 2*M+1

    备注:关键字+关键字前M行+关键字后M行,所以结果为 2M+1

(7)搜索关键字最后一次出现位置的前后M行

    grep -C M “关键字” 文件名 |tail -n 2*M+1

(8搜索关键字最后一次出现位置的前后M行,并写入文件,如果文件存在则覆盖

    grep -C M “关键字” 文件名 |tail -n 2*M+1 > 文件名

   备注:>表示覆盖写入

(9)搜索关键字最后一次出现位置的前后M行,并写入文件,如果文件存在则追加

   grep -C M “关键字” 文件名 |tail -n 2*M+1 >> 文件名

   备注:>>表示追加写入

总结

搜索catalina.out中"Exception"关键字第一次出现位置的前后10行,并写入文件22.log

grep -C 10 “Exception” catalina.out |head -n 2*10+1 >22.log

搜索catalina.out中"Exception"关键字最后一次出现位置的前后10行,并写入文件22.log

grep -C 10 “Exception” catalina.out |tail -n 2*10+1 >22.log

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230307A073U800?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券