スペースで区切られたフィールドを持つ2つの非常に大きなテキストファイルがあります。
ファイル1
527858 51 2 27.92464882 8.63E-07
570289 82 2 30.12532071 2.87E-07
571034 90 2 29.26089611 4.43E-07
571033 90 2 28.56723908 6.26E-07
452403 104 2 28.27577506 7.24E-07
351390 100 2 28.16226794 7.67E-07
527858 50 2 27.92464882 8.63E-07
ファイル2
527858 rs435
570289 rs564
571034 rs654
571033 rs345
452403 rs665
351390 rs787
527858 rs435
出力:
rs435 51 2 27.92464882 8.63E-07
rs564 82 2 30.12532071 2.87E-07
rs654 90 2 29.26089611 4.43E-07
rs345 90 2 28.56723908 6.26E-07
rs665 104 2 28.27577506 7.24E-07
rs787 100 2 28.16226794 7.67E-07
rs435 50 2 27.92464882 8.63E-07
file1とfile2の最初の列を比較し、file1の最初の列をfile2の2番目の列の名前に置き換えます。
ベストアンサー1
頑張ります
awk 'FNR==NR { F2[$1]=$2 ; next } $1 in F2 {$1 = F2[$1] ; print } ' File2 File1
どこ
FNR==NR { F2[$1]=$2 ; next }
File1に値を保存します。$1 = F2[$1]
キーの交換