別のファイルの異なる列値を使用して1列の値を変更する方法

別のファイルの異なる列値を使用して1列の値を変更する方法

Unixでどのコマンドを使うべきかわかりません。

次のようなファイルがあるとしましょう。

A  23
B  52
C  36
F  25

2番目のファイルには3つの列があります。

A  aligator  2
B  panda  3
C  bear  4
D  pig  1
E  yeti  0
F  shark  9
G  dog  10
H  cat  1

最初の列の値がファイル間で一致する場合は、最初の列の値(1つのファイル)を2番目の列の値(2つのファイル)に置き換えたいと思います。

出力例:

aligator  23
panda  52
bear  36
shark  25

誰が私を助けることができますか?

最高。

ベストアンサー1

ファイルがソートされたら、joincoreutilsを使用できます。

join -o '2.2 1.2' file1 file2

出力:

aligator 23
panda 52
bear 36
shark 25

おすすめ記事