shell統(tǒng)計(jì)常用命令

  1. 工作中需要在日志文件中抓取耗時,每一行中耗時字段的存儲形式為
xxxxxxxx time=1:13,2:9,3:21,4:2 xxxxxxxxxxxxxx

目標(biāo)是抓取所有行中3:XX后面的數(shù)字

grep 'time=' log.txt |  grep -Eo '[,3:[0-9]+]' |  awk -F ':'  {print $2}
# -E    用正則表達(dá)式查找
# -o    只顯示匹配的部分

參考:
https://www.dazhuanlan.com/lingxiran/topics/1481728
https://www.runoob.com/linux/linux-comm-grep.html

  1. 統(tǒng)計(jì)某個字段的出現(xiàn)次數(shù)
grep  -oP "total_time=1\d\d"  log.txt  | wc -l    #統(tǒng)計(jì)“total_time=3xx”字符串的出現(xiàn)行數(shù)
# -P    用正則表達(dá)式查找
# -o    只顯示匹配的部分
  1. 統(tǒng)計(jì)匹配到的值的和/平均值
grep  -oP "total_time=1\d\d"  log.txt | awk -F '=' '{sum+=$2} END {print sum}'        # 求和
grep  -oP "total_time=1\d\d"  log.txt | awk -F '=' '{sum+=$2} END {print sum/NR}'  # 求平均 
# (awk) -F 指定分隔符
# NR 行數(shù)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容