我正在尝试读取这种格式的CSV文件

COL1, COL2
5, 25
5, 67
5, 89
3, 55
3, 8
3, 109
3, 12
3, 45
3, 663
80, 34
80, 5


并在一行中将具有相同COL1的所有条目的COL2合并,以使第一列指示其后的列数。因此,对于上面给出的示例,输出文件应如下所示:

3, 25, 67, 89
6, 55, 8, 109, 12, 45, 663
2, 34, 5

最佳答案

使用awk的解决方案:

$ awk 'NR>1{a[$1]=a[$1]", "$2;c[$1]++}END{for (k in a) print c[k] a[k]}'  file
3, 25, 67, 89
6, 55, 8, 109, 12, 45, 663
2, 34, 5

10-01 22:10