我有一个文件,其中第一列和第二列是个体 ID,其余是基因型信息(我应该提到每个个体有两行)。该文件有标题行,但仅针对基因型列,而不是针对个体 ID 的第一列和第二列)。
SNP_1 SNP_2 SNP_3 SNP_4 SNP_5
2014TOR010 1 3 1 4 4 3 3 2 3 1
2014TOR010 1 1 1 2 4 3 3 2 4 1
06SELI0115 1 3 1 4 4 3 3 2 3 1
06SELI0115 1 3 1 2 4 3 2 2 3 2
2014TOR011 1 3 1 4 4 3 3 2 3 1
2014TOR011 1 1 1 2 4 1 3 2 4 2
....
我想根据另一个文件对该文件进行排序:
head sorted.snps.txt
2014TOR011
06SELI0115
2014TOR010
但我想保留标题。这是我想要的输出: head out.desired
SNP_1 SNP_2 SNP_3 SNP_4 SNP_5
2014TOR011 1 3 1 4 4 3 3 2 3 1
2014TOR011 1 1 1 2 4 1 3 2 4 2
06SELI0115 1 3 1 4 4 3 3 2 3 1
06SELI0115 1 3 1 2 4 3 2 2 3 2
2014TOR010 1 3 1 4 4 3 3 2 3 1
2014TOR010 1 1 1 2 4 3 3 2 4 1
....
答案1
未经测试:
awk '
NR==1 { print; next }
NR==FNR { a[$1]=($1 in a ? a[$1] ORS : "") $0; next }
{ print a[$1] }
' file1 sorted.snps.txt