微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux-合并相同键的值

是否可以使用awk将同一键的值分成一行?
例如

a,100
b,200
a,131
a,102
b,203
b,301

我可以将它们转换为如下文件

a,100,131,102
b,200,203,301

解决方法:

您可以这样使用awk:

awk -F, '{a[$1] = a[$1] FS $2} END{for (i in a) print i a[i]}' file

a,100,131,102
b,200,203,301

我们使用-F将逗号用作定界符,并使用数组a保持聚合值.

参考:Effective AWK Programming

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐