以下是一行日志的一个示例:
2016-04-24 23:59:45 -1 6bd3fbb8-65ac-4d16-bf32-48659a76c499 2 +15173583107 14 +161760555935 14 de.xxxx-O2 layxxxd 0 1
我知道如何分组归档,所以这就是解决方案:
awk '{arr[$11]+=$12} END {for (i in arr) {print i,arr[i]}}' exmaple.log
这将是结果:
xx 144
layxxxd 49.267
我的问题是,我如何按两个字段而不是一个字段进行分组,首先应该是$11
,第二个是$10
?所以结果应该改为:
layxxxd unknown 100
layxxxd de.xxxx-O2 44
答案 0 :(得分:2)
如何按两个字段而不是一个字段进行分组,首先应为
$11
,其次为$10
?
您可以使用$11 FS $10
作为关联数组的键:
awk '{arr[$11 FS $10] += $12} END {for (i in arr) {print i,arr[i]}}' exmaple.log