gpt4 book ai didi

linux - 如何使用 bash 脚本按两个字段分组?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:11:04 24 4
gpt4 key购买 nike

这是一行日志的一个例子:

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

最佳答案

how can I group by two fields instead of one, first should be $11 and second is $10?

您可以使用 $11 FS $10 作为关联数组的键:

awk '{arr[$11 FS $10] += $12} END {for (i in arr) {print i,arr[i]}}' exmaple.log

关于linux - 如何使用 bash 脚本按两个字段分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36885022/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com