我有一些形式的输出:
count id type
588 10 | 3
10 12 | 3
883 14 | 3
98 17 | 3
17 18 | 1
77598 18 | 3
10000 21 | 3
17892 2 | 3
20000 23 | 3
63 27 | 3
6 3 | 3
2446 35 | 3
14 4 | 3
15 4 | 1
253 4 | 2
19857 4 | 3
1000 5 | 3
...
这非常混乱,需要将其清除为CSV,因此我可以将其赠送给项目经理,以便他们从中获得电子表格。
问题的核心是:我需要这样的输出:
id,sum_of_type_1,sum_of_type_2,sum_of_type_3
一个示例是id“ 4”:
14 4 | 3
15 4 | 1
253 4 | 2
19857 4 | 3
相反,它应该是:
4,15,253,19871
不幸的是,我在这种事情上非常垃圾,我设法将所有行清理干净并转换为CSV,但是我无法对行进行重复数据删除和分组。现在我有这个:
awk 'BEGIN{OFS=",";} {split($line, part, " "); print part[1],part[2],part[4]}' | awk '{ gsub (" ", "", $0); print}'
但是,所有要做的就是清理垃圾字符并再次打印行。
将行按摩到上述输出中的最佳方法是什么?