join

テキスト処理

書き方

join -1 1 -2 1 [file1] [file2]

二つのファイルを共通の欄でつなぎます。データベースの join と同じですが、その欄で先に並べ替えていないと行が黙って落ちます。

よく使うオプション

オプション意味
-1Which field to use in the first file
-2Which field to use in the second file
-tThe field separator, as in -t,
-aAlso print unpaired lines from that file, an outer join
-vPrint only the unpaired lines from that file
-eFill missing fields with this string
-oChoose which fields the output holds

join -t, -1 1 -2 1 a.csv b.csv

Inner join on the first column.

join -a1 left.txt right.txt

Keeps the unmatched lines from the left file.

パイプでつないで使うのが本来の形です。ひとつで全部やるより、三つつないだ方が短くなります。

読み方

  • 角括弧 [ ] は省いてよい部分です。
  • 三点 … は複数並べられるという意味です。
  • オプションは大文字小文字を区別します — -r と -R が別物のコマンドもあります。

よくある質問

Q. join は何をしますか。

二つのファイルを共通の欄でつなぎます。データベースの join と同じですが、その欄で先に並べ替えていないと行が黙って落ちます。

Q. どう打ちますか。

join -1 1 -2 1 [file1] [file2] — 角括弧は省いてよい部分です。

Q. よく使うオプションはいくつですか。

ここにまとめたのは7個です。全部は man join にあります。このコマンドはテキスト処理の仲間です。

関連するコマンド

man ページ: man join