gpt4 book ai didi

linux - awk中的键值对

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:48:01 29 4
gpt4 key购买 nike

我有一串数据像

 915 1.1.1.1 Sep 21 06
2478 2.2.2.2 Sep 21 07
1960 2.2.2.2 Sep 21 08
500 1.1.1.1 Sep 21 09

期望的输出如下:

1.1.1.1 1415
2.2.2.2 4438

即将第一列中的数字相加。我想使用 awk 文本处理语言来实现相同的目的。我的解决方案是:

echo " 915 1.1.1.1 Sep 21 06
2478 2.2.2.2 Sep 21 07
1960 2.2.2.2 Sep 21 08
500 1.1.1.1 Sep 21 09" | awk '{arr[$2]=$1; if($2 in arr ) {val = arr[$2] + $1; arr[$2]=val}} END {for (i in arr) {print i, arr[i]}}'

这似乎行不通。我不确定我做错了什么。

最佳答案

$ awk '{a[$2]+=$1} END{for(k in a) print k,a[k] | "sort" }' file

1.1.1.1 1415
2.2.2.2 4438

关于linux - awk中的键值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39666084/

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