ファイル1:
P SNP:
0.266234 1:11008
0.266234 1:11012
0.340042 1:13110
0.86724 rs201725126
0.86724 rs200579949
0.127269 1:1327
ファイル2:
snp chr:pos
rs201725126 1:10020
rs200579949 1:10055
rs62651026 1:10108
rs376007522 1:10109
rs796688738 1:10128
rs368469931 1:10139
希望の出力:
P SNP:
0.266234 1:11008
0.266234 1:11012
0.340042 1:13110
0.86724 1:10020
0.86724 1:10055
0.127269 1:13273
したがって、ファイル 1 のすべての rsID をファイル 2 の chr:pos に置き換え、既に chr:pos 形式を持つ他のすべての行は変更せずにそのままにしようとします。
私は次のコマンドを試しました。
awk 'NR==FNR{a[$1]=$2} NR>FNR{$2=a[$2];print}' file2.txt file1.txt > merged.txt
rsIDをすばやくマージしている間、以下のように既存のchr:pos形式が失われました。
P SNP:
0.266234
0.266234
0.340042
0.86724 1:10020
0.86724 1:10055
0.127269
答え1
awk 'NR==FNR{a[$1]=$2; next} $2 in a {$2=a[$2]} {print}' file2.txt file1.txt
P SNP:
0.266234 1:11008
0.266234 1:11012
0.340042 1:13110
0.86724 1:10020
0.86724 1:10055
0.127269 1:1327