以下のように2つのファイルがあります。そのホスト名と一致するように、file1からfile2までのID番号を適用する必要があります。必要な出力も下にあります。可能であれば、bashスクリプトを使用してこれを行うことをお勧めしますが、代替方法があります。
ファイル1:
ID: 12345, Name: foo1.bar.com
ID: 12346, Name: foo2.bar.com
ID: 12347, Name: foo3.bar.com
ID: 12348, Name: foo4.bar.com
ID: 12349, Name: foo5.bar.com
ファイル2:
foo3.bar.com
foo4.bar.com
foo1.bar.com
foo5.bar.com
foo2.bar.com
希望の出力 -
12347 foo3.bar.com
12348 foo4.bar.com
12345 foo1.bar.com
12349 foo5.bar.com
12346 foo2.bar.com
この問題を解決するための最良の方法のアイデアはありますか?
ベストアンサー1
最初のファイルでルックアップテーブル/ハッシュ/関連付けの配列を作成し、2番目のファイルの内容を使用して入力します。
awk -F'[ ,]+' 'NR==FNR {a[$NF] = $2; next} $1 in a {print a[$1], $1}' file1 file2
12347 foo3.bar.com
12348 foo4.bar.com
12345 foo1.bar.com
12349 foo5.bar.com
12346 foo2.bar.com