我正在尝试根据第一个字段中的值合并列。我尝试使用awk,但无济于事。请参见示例输入和输出:
Input:
10013 97 1503384
10013 196 1506234
10013 61 1507385
10013 1559 1508385
10014 1726 1514507
10014 960 1519162
10015 1920 1545535
10015 124 1548915
10015 77 1550284
Desired_Output:
10013 97,196,61,1559 1503384,1506234,1507385,1508385
10014 1726,960 1514507,1519162
10015 1920,124,77 1545535,1548915,1550284
在此先感谢您的任何建议!
最佳答案
最短的GNU datamash
解决方案:
datamash -sW -g1 collapse 2 collapse 3 <file
-g1
-按第一个字段collapse N
-在每个组N
的所有输入值的逗号分隔列表的操作输出:
10013 97,196,61,1559 1503384,1506234,1507385,1508385
10014 1726,960 1514507,1519162
10015 1920,124,77 1545535,1548915,1550284
关于python - 根据字段值合并行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47536497/