【发布时间】:2015-07-08 12:45:32
【问题描述】:
我想询问一些有关如何将共享唯一 ID 的行合并到逗号分隔表中的提示。非常感谢 Perl、sed 或 awk 中的任何提示。
这就是我现在的表格的样子:
protein_id go_id
4102 GO:0003676
4125 GO:0003676
4125 GO:0008270
4139 GO:0008270
这就是我想要转换的方式:
protein_id go_id
4102 GO:0003676
4125 GO:0003676, GO:0008270
4139 GO:0008270
【问题讨论】:
-
bash merge multiple lines 的可能重复项
-
你可以试试:
awk 'NR==0{print $0} NR!=1{a[$1]=a[$1] FS $2}END{for(i in a) print i,a[i]}' filename -
在 perl 中最简单的方法是解析成以键为第一列的数组散列,然后根据需要打印散列。
-
非常感谢 Rakholiya Jenish,awk 工作得很好!
-
感谢 stevesliva 的 perl 提示,我将尝试用 hash 编写它,以便将来修改!