awk 统计日志不同controller报错个数

空格分隔第5列为controller的名称

awk '{a[$5]++} END{for(i in a){print i,a[i] | "sort -r -k 2"}}' 1.log  (默认空格为分隔符)

awk -F / '{a[$3]++} END{for(i in a){print i,a[i] | "sort -r -k 2"}}' 1.log; (如果 / 为分隔符则用该语句)

-F参数是制定awk分隔符,这里制定的是 /,所以每行被分成4个部分。

sort 的-r是降序,-k是按照第几组字符排序,从1开始。

a可以理解成key-value形式的对象,域名做key 个数做value。

在end动作里完成对结果a的打印

想要保存到文件在命令后面加上  >> 1.txt 即可

 

posted @ 2021-11-26 16:30  Materben  阅读(63)  评论(0编辑  收藏  举报