あるファイルの最初の2つの列を別のファイルの最初の2つの列と比較し、2番目のファイルの値を出力に印刷します。

あるファイルの最初の2つの列を別のファイルの最初の2つの列と比較し、2番目のファイルの値を出力に印刷します。

ファイルAとファイルBが2つのタブ区切りファイルであり、ファイルAの最初の2つの列をファイルBの最初の2つの列と比較し、項目でない場合は、ファイルBの値を出力に印刷する必要があります。可能印刷は該当しません。次は私です

fileA.txt

id  freq.var
chr12_56487682_56487682_T_A 0
chr3_52436344_52436344_C_G  0
chr19_9091288_9091288_G_T   0
chr12_44172075_44172075_A_C 0.05739626
chr19_9048431_9048431_A_G   0.033832938
chr12_56487678_56487678_T_G 0
chr17_37881646_37881646_T_G 0
chr19_9002576_9002576_T_C   0.0342902
chr15_63991054_63991054_T_G 0.024456501
chr17_29554589_29554589_C_T 0.095445774

fileB.txt

id  freq.var
chr12_56487682_56487682_T_A 0.0035266
chr19_9048431_9048431_A_G   0.033832938
chr3_52436344_52436344_C_G  0.002500443
chr12_44172075_44172075_A_C 0.05739626
chr19_9002576_9002576_T_C   0.0342902
chr17_29554589_29554589_C_T 0.095445774
chr15_63991054_63991054_T_G 0.024456501

以下は予想される結果です

id  freq.var
chr12_56487682_56487682_T_A 0.0035266
chr3_52436344_52436344_C_G  0.002500443
chr19_9091288_9091288_G_T   NA
chr12_44172075_44172075_A_C 0.05739626
chr19_9048431_9048431_A_G   0.033832938
chr12_56487678_56487678_T_G NA
chr17_37881646_37881646_T_G NA
chr19_9002576_9002576_T_C   0.0342902
chr15_63991054_63991054_T_G 0.024456501
chr17_29554589_29554589_C_T 0.095445774

以前も同様の質問を投稿したことがあります。2つのファイルの最初の列に基づいて2つのタブで区切られたファイルを比較し、出力ファイルに一致するものと一致しないものを印刷します。

ベストアンサー1

これは両方のファイルを解析する標準的な使い方ですawk。最初のファイルの操作は条件の後に行われ、FNR==NR値をハッシュ配列に保存します。このnext文は、後続の操作を行わずに次の行に移動することを意味します。 2番目のファイルの場合は、次の部分を実行します。 3項を使用して保存された値がある場合は、インポートまたは「NA」に設定します。1一人でprintcolumnスペースを含むタブ形状を取得するには、パイプを使用してください。

awk 'NR==FNR{a[$1]=$2; next} {$2=($1 in a)? a[$1]: "NA"} 1' fileB.txt fileA.txt \
    | column -t

出力:

id                           freq.var
chr12_56487682_56487682_T_A  0.0035266
chr3_52436344_52436344_C_G   0.002500443
chr19_9091288_9091288_G_T    NA
chr12_44172075_44172075_A_C  0.05739626
chr19_9048431_9048431_A_G    0.033832938
chr12_56487678_56487678_T_G  NA
chr17_37881646_37881646_T_G  NA
chr19_9002576_9002576_T_C    0.0342902
chr15_63991054_63991054_T_G  0.024456501
chr17_29554589_29554589_C_T  0.095445774

おすすめ記事