使用AWK在文件中组合相似的行

时间:2016-05-17 16:34:45

标签: linux bash awk gawk

又来了! 有人可以帮我解决下一个问题:

我需要使用awk在文件中组合类似的行。例如
文件有下一行:

{{1}}

输出应如下所示:

{{1}}

如何将不同行中的相似模式合并为一行? 非常感谢您的想法!

1 个答案:

答案 0 :(得分:2)

awk救援!

$ awk '{a[$1,$2]+=$3; k1s[$1]; k2s[$2]} 
    END{for(k1 in k1s) 
          {print k1":"; 
           for(k2 in k2s) if(a[k1,k2]) print k2, a[k1,k2]; print ""}}' file

Mike:
euro 4
dollar 15

Fred:
euro 14