gpt4 book ai didi

linux - 来自 shell 的 GROUP BY/SUM

转载 作者:IT老高 更新时间:2023-10-28 12:40:51 25 4
gpt4 key购买 nike

我有一个包含如下数据的大文件:

a 23
b 8
a 22
b 1

我希望能够得到这个:

a 45
b 9

我可以先对该文件进行排序,然后在 Python 中扫描该文件一次。有什么好的直接命令行方式来执行此操作?

最佳答案

编辑:现代 (GNU/Linux) 解决方案,正如几年前的评论中提到的 ;-) 。

awk '{
arr[$1]+=$2
}
END {
for (key in arr) printf("%s\t%s\n", key, arr[key])
}' file \
| sort -k1,1

最初发布的解决方案,基于旧的 Unix sort 选项:

awk '{
arr[$1]+=$2
}
END {
for (key in arr) printf("%s\t%s\n", key, arr[key])
}' file \
| sort +0n -1

我希望这会有所帮助。

关于linux - 来自 shell 的 GROUP BY/SUM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10286522/

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