在UNIX系统中,可以使用awk
命令按照两个值进行分组。下面是一个示例代码:
awk -F',' '{ arr[$1$2] = arr[$1$2] $3"," } END { for (key in arr) { print key, arr[key] } }' file.txt
假设file.txt
文件的内容如下:
A,1,apple
A,2,banana
B,1,orange
B,2,grape
A,1,kiwi
运行以上命令后,输出结果如下:
A1 apple,kiwi,
A2 banana,
B1 orange,
B2 grape,
这个命令首先使用-F
参数将输入的每一行按照逗号分隔为字段。然后,使用数组arr
来存储按照两个值(字段1和字段2的组合)分组的结果。在每次遇到相同的两个值时,将第三个字段的值添加到对应的数组元素中。最后,使用END
块遍历数组并打印出分组结果。
请注意,这个示例假设输入文件的格式为逗号分隔的三列。你可以根据实际情况修改分隔符和字段数量。
下一篇:按两个值分组列表