我的数据由逗号分隔符分隔 因此,通过在逗号之前将值作为主标题列进行讨论,如果相同的标题出现在某个地方,则通过放置打开和关闭的花括号将数据添加到一个标题中
请考虑我的示例以便更好地理解
输入文件数据
19,66:BILL
19,34
19,02
21,:0
21,:0
21,:1
21,37
26,:19
26,87
27,35
31,77
31,12
31,202
输出文件数据
19,{66:BILL}{34}{02}
21,:{0}{:0}{:1}
21,37
26,{:19}{87}
27,35
31,{77}{12}{102}
答案 0 :(得分:0)
使用awk
$ awk -F, '{a[$1]=a[$1]"{"$2"}"} END{for (i in a) print i FS a[i]}' input.csv
假设输入文件仅包含两列,则脚本通过将具有相同索引a
的所有行的值$2
附加到同一元素{{}}来构造数组$1
。 1}}
<强> input.csv 强>
a[$1]
<强>输出强>
19,66:BILL
19,34
19,02
21,:0
21,:0
21,:1
21,37
26,:19
26,87
27,35
31,77
31,12
31,202