我正在尝试根据第一个字段中的值合并列。我尝试使用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/

    10-10 07:27