再一次!
有人能帮我回答下一个问题吗:
我需要使用awk将类似的行合并到一个文件中。例子
文件有下一行:

Mike dollar 15
Fred euro 10
Mike euro 4
Fred euro 4

输出应如下所示:
Mike:
dollar 15
euro 4

Fred:
euro 14

如何将不同行中的相似模式组合成一行?
非常感谢你的建议!

最佳答案

去营救!

$ 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

10-07 21:45