最初と2番目の列は個人IDで、残りは遺伝子型情報であるファイルがあります。各個人に2つの行があることに注意する必要があります。ファイルにはヘッダー行がありますが、個々のIDの最初と2番目の列ではなく、遺伝子型列にのみ適用されます。
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