计算末尾的数字并合并到一行

计算末尾的数字并合并到一行

所以在一个文件中我有这样的行:

thisdata:thisother:1337
thisdata:thisother:1800
thisdata:thisother:1500
thisdata:thisother:46984

我想输出:

thisdata:thisother:51621

对于所有行,区分每个数据集的行数与我想要合并的末尾的交替数字。

更多示例:

somedata:somedata:1339

othrsome:othersomemore:14949
othrsome:othersomemore:14949

uruie:eiiwi:1399
uruie:eiiwi:1399
uruie:eiiwi:1399

答案1

使用awk以前两列为键的关联数组:

awk -F : '{ sum[$1 FS $2] += $3; }; END { OFS=FS; for (key in sum) print key, sum[key]; }' file

相关内容