Linuxで列の値でファイルを結合する!(join)

Linuxで列の値でファイルを結合します。

結合するフファイルを準備する!

joinコマンドの動作を確認するため、以下のファイルを準備します。

$ cat data1.txt
000000001,server01,user01
000000002,server02,user02
000000003,server03,user03
000000004,server04,user04
000000005,server05,user05

「data1.txt」の2列目の値をキーに、ファイルを結合するためのファイルを準備します。

$ cat data2.txt
server01,rhel
server02,ubuntu

列の値でファイルを結合する!

1つ目のファイルの2列目、2つ目のファイルの1列目で結合します。区切り文字に、「,」を指定します。結合した列が1列目に表示されます。

$ join -t, -1 2 -2 1 data1.txt data2.txt
server01,000000001,user01,rhel
server02,000000002,user02,ubuntu

おわりに

難しい処理を組まなくても、joinコマンドで列の値でファイルを結合することができます。結合後のファイル表示の方法は、様々なオプションがあるので、コマンドのヘルプを参照して、少しでも求める出力に近い結果を得るようにします。

関連記事

関連書籍(Amazon)