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 文本處理方式,只是要根據你的環境來區分如何切割,明白了切割方式就可以了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM