join
テキスト処理
書き方
join -1 1 -2 1 [file1] [file2]二つのファイルを共通の欄でつなぎます。データベースの join と同じですが、その欄で先に並べ替えていないと行が黙って落ちます。
よく使うオプション
| オプション | 意味 |
|---|---|
| -1 | Which field to use in the first file |
| -2 | Which field to use in the second file |
| -t | The field separator, as in -t, |
| -a | Also print unpaired lines from that file, an outer join |
| -v | Print only the unpaired lines from that file |
| -e | Fill missing fields with this string |
| -o | Choose which fields the output holds |
例
join -t, -1 1 -2 1 a.csv b.csvInner join on the first column.
join -a1 left.txt right.txtKeeps 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