awk应用日志分析

Posted 波子汽水yeah

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了awk应用日志分析相关的知识,希望对你有一定的参考价值。

需求从日志里面统计一个接口请求耗时

日志里面打印的内容是

log.info("请求xx接口code=,耗时=)

日志分析,直接打印平均数


日志分析
一开始用的方法:
grep 请求xx接口code=xxx,耗时 application-2020-07-22-14.log  >/tmp/couponcount.txt
获取关键日志 包含所需要的字段
grep 耗时= couponcount.txt >> /tmp/cc.txt
提取目标列
awk -F ',' 'print $2' cc.txt >> time.txt
进一步提取数值
awk -F '=' 'print $2' time.txt >> hs.txt
统计平均值
cat hs.txt |awk 'sum+=$1 END print"avg= ",sum/NR’
升级版本:
cat  awk -F',' 'print $2' 17.txt |awk -F'=' 'print $2’  END print"avg= ",sum/NR’

可用版本
grep 耗时= couponcount.txt  | awk -F'=' 'print $3'|awk -F',' 'print $1' | awk 'sum+=$1 END print"avg= ",sum/NR’

最终版 
grep请求xx接口code=xxx,耗时 application-2020-07-22-14.log |  awk -F'=' 'print $3'|awk -F',' 'print $1' | awk 'sum+=$1 END print"avg= ",sum/NR’

awk -F‘=’ ‘print $1’
-F指定分隔符 这里‘=’ 表示使用=等号
‘print $1’ 打印第一列 注意awk第一列就是$1 并不是$0,这点要特别注意

举个栗子
有如下文本 test.txt
小明,老王,安吉拉北鼻

awk -F‘,’ ‘print $1’ 打印的就是 小明
同理
awk -F‘,’ ‘print $3’ 打印的就是 安吉拉北鼻

以上是关于awk应用日志分析的主要内容,如果未能解决你的问题,请参考以下文章

日志分析查看——grep,sed,sort,awk运用

AWK分析日志

awk日志分析

性能测试日志分析之awk基础用法

awk脚本分析日志

日志分析命令awk基础用法