再一次!
有人能帮我回答下一个问题吗:
我需要使用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