linux命令 查询日志筛选条件并返回结果awk 命令的使用

使用场景:

      记录服务器调用第三方接口的耗时问题;日志返回格式:第三方接口耗时:129ms

      需求,查出耗时大于100ms 共有多少条数据

cat /home/work/log4j/life-proxy/2020-12-28/total* |awk -F '第三方接口耗时:' '{print $2}' | awk -F 'ms' '{print $1}' |awk '$NF>100{print $NF}' |wc -l

    命令解释 cat /home/work/log4j/life-proxy/2020-12-28/total*

      查看total这个文件的内容

    命令解释:|awk -F '第三方接口耗时:' '{print $2}'

      输出total文件内容后,1以关键字[第三方接口耗时:]进行切割,切割后:的结果为:“三方接口耗时:”,“129ms”   {print $2} 打印第二部分,也就是拿到了129ms字段

    命令解释:| awk -F 'ms' '{print $1}'

      上一步拿到了129ms字段后,在将这个字段切割,这样就被切割成了“129”,“ms” {print $1}打印第一部分,也就拿到了129字段

    命令解释:|awk '$NF>100{print $NF}'

      上一步拿到了129字段,此时$NF 就可以获取到129数字了, 然后和100对比条件成立,则输出$NF ,  $NF 的意思是取一行数据中最后一列的那个值,所以说如果我们的日志结构是129结尾的话,只需要通过awk -F 切割一次 就可以获取到129数字了,

    命令解释:|wc -l

      统计行数的命令

附加:

   如果你的日志格式是生产环境的话,比如json格式存储,也可以使用这种awk 文本处理方式,只是要根据你的环境来区分如何切割,明白了切割方式就可以了。

posted @   始终不过一场繁华  阅读(1248)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示