ファイルが2つあります。
転載記事の出典:(5000アイテム)
Chr Position
chr1 879108
chr1 881918
chr1 896874
…
および対立遺伝子頻度を含むファイル(2000項目)
Chr Position MAF
chr1 881918 0.007
chr1 979748 0.007
chr1 1120377 0.007
chr1 1178925 0.036
生ファイルを対立遺伝子の頻度と一致させ、5000個のエントリを含む出力ファイルを印刷したいと思います。 awkやsedでできますか?
Chr Position MAF
chr1 879108
chr1 881918 0.007
chr1 896874
…
答え1
私はjoin
あなたに必要なものを使用して取得することができますawk
$ cat original
chr1 879108
chr1 881918
chr1 896874
$ cat freq
chr1 881918 0.007
chr1 979748 0.007
chr1 1120377 0.007
chr1 1178925 0.036
$ join -a1 -j 2 --nocheck-order original freq | awk '{print $2, $1, $4}'
chr1 879108
chr1 881918 0.007
chr1 896874
これは、2番目のフィールドに一致する-a1
最初のファイルのすべての行を印刷し、ソートされた入力をチェックしないことを意味します。パイプは柱を必要な形状に加工します。-j 2
--nocheck-order
awk
答え2
次のことを試すこともできます。
awk 'NR==FNR{A[$1,$2]=$3; next} {$3=A[$1,$2]}1' file2 file