Unix:使用自定义功能进行分组

时间:2016-02-24 09:26:25

标签: bash unix

我的文字文件如下所示

id, key, value
i1, k1, v1
i1, k2, v2
i1, k2, v3

我需要在group by上操作<id, key>并拥有一个自定义函数,该函数表示concats所有值。因此产生的输出看起来像

id, key, value
i1, k1, v1
i1, k2, v2||v3

我们如何在unix中实现这一目标?

1 个答案:

答案 0 :(得分:1)

如果你有awk:

awk -F, '{k=$1FS$2;a[k]=(k in a)?a[k]"||"$3:$3}END{for(x in a)print x FS a[x]}' file
id, key, value
i1, k1, v1
i1, k2, v2|| v3