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 即可