how to merge rows that share unique IDs into a comma separated table

后端 未结 3 1606
温柔的废话
温柔的废话 2021-01-29 09:13

I would like to ask for some hints in how to merge rows that share unique IDs into a comma separated table. Any hints in Perl, sed or awk are greatly appreciated.

This i

3条回答
  •  鱼传尺愫
    2021-01-29 09:47

    $ cat data.txt 
    protein_id go_id
    4102    GO:0003676
    4125    GO:0003676
    4125    GO:0008270
    4139    GO:0008270
    $ perl -aE'sub a{say"$a\t",join", ",@a if$a;@a=($F[1]);$a=$F[0]}$F[0]eq$a?push@a,$F[1]:a()}{a()' data.txt
    protein_id      go_id
    4102    GO:0003676
    4125    GO:0003676, GO:0008270
    4139    GO:0008270
    

提交回复
热议问题