linux grep查找包含特殊符号的日志的方法

grep是查找服务器上的日志时经常使用到的命令。

有时需要找到某段日志,或者确认某段日志是否存在,但是日志中有特殊符号,就不太好搜索了。

例如下面这段日志:

2022-11-07 15:23:32.070  INFO 30966 --- [cTaskExecutor-2] c.my.MyConsumer   : 待处理消息体:: {"newPersonId":"abc123","newPersonStudentInfo":"{\"Message\":\"验证成功\",\"Data\":{\"company_code\":\"A\",\"sub_company_code\":\"A1\",\"num\":\"2\"},\"Success\":true}","status":"1"}

2022-11-07 15:40:46.210  INFO 30966 --- [cTaskExecutor-1] c.my.MyConsumer   : 待处理消息体:: {"newPersonId":"abc124","newPersonStudentInfo":"{\"Message\":\"验证成功\",\"Data\":{\"company_code\":\"B\",\"sub_company_code\":\"B2\",\"num\":\"2\"},\"Success\":true}","status":"1"}

需求:
查询日志中包含MyConsumer : 待处理消息体:并且包含newPersonStudentInfo并且包含\"company_code\":\"A\"的日志行。

难点是,目标日志中包含\"这2个特殊符号。

实现方法:
可以用以下grep语句实现。(用单引号括起来,然后用\转义特殊符号)

grep 'MyConsumer   : 待处理消息体:' /home/admin/logs/service.log | grep 'newPersonStudentInfo' | grep '\\\"company_code\\\":\\\"A\\\"' 

备注:
如果日志被压缩成了gz格式的文件,可以用以下grep语句查询。(gzip -dc与grep组合使用)

gzip -dc /home/admin/logs/*.gz | grep 'MyConsumer   : 待处理消息体:' | grep 'newPersonStudentInfo' | grep '\\\"company_code\\\":\\\"A\\\"' 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

追逐梦想永不停

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值