あなたの助けが本当に必要です。私はUnixに初めて触れます。 File2(3列)をFile1(元のデータ)と比較し、結果を新しいファイルに保存したいと思います。しかし、私のファイルには異なる区切り文字があります。
例:
File1 (in tab delimited)
Col1 Col2 Col3 Col4 Col5
a 1 JJ KK DD
b 2 TT RR EE
c 3 QQ ZZ PP
File2 (in pipe delimited)
Col1 Col2 Col3
b TT RR
c QQ ZZ
Result
Col1 Col2 Col3 Col4 Col5
b 2 TT RR EE
c 3 QQ ZZ PP
私のファイルが大きくて速く実行するにはコードが必要であることに注意してください。 file1と一致するには、file2の列3を一致させる必要があります。ありがとうございます!
ベストアンサー1
注文する
u=`awk 'NR==1{print $0}' fil1`
awk -v u="$u" 'BEGIN {print u}NR==FNR{a[$3];next}($4 in a){print $0}' fil2 fil1
出力
Col1 Col2 Col3 Col4 Col5
b 2 TT RR EE
c 3 QQ ZZ PP