join
joinは、テキストファイル同士を結合して表示するコマンドです。
構文
- (構文)
- join [オプション] <ファイル名1> <ファイル名2>
オプション | 説明 |
---|---|
-a 番号 | 指定した番号のファイルの項目は全て出力する |
-i | join時に大文字小文字を区別しない |
-j 列番号 | joinに使用する列番号を指定する(未指定時は1) |
-t 文字 | 区切り文字を指定する(未指定時は半角スペース) |
-v | 一致しない行を表示する |
--help | ヘルプを表示する |
サンプル
以下のファイルをサンプルとして使用します。
aa.txt
1 aaa
2 bbb
3 ccc
4 ddd
5 eee
bb.txt
1 50
2 100
3 150
5 250
cc.txt
1 aaa
3 ccc
4 ddd
5 eee
aa.txtとbb.txtを1列目の項目で結合して表示する
$join aa.txt bb.txt
1 aaa 50
2 bbb 100
3 ccc 150
5 eee 250
aa.txtとbb.txtを1列目の項目で結合して、1番目のファイル(aa.txt)の項目は全て表示する
$ join -a 1 aa.txt bb.txt
1 aaa 50
2 bbb 100
3 ccc 150
4 ddd
5 eee 250
aa.txtとbb.txtを1列目の項目で結合して2番目のファイル(bb.txt)の項目は全て表示する
$ join -a 2 aa.txt bb.txt
1 aaa 50
2 bbb 100
3 ccc 150
5 eee 250
cc.txtとbb.txtを1列目の項目で結合し、1番目のファイル(cc.txt)と2番目のファイル(bb.txt)の項目は全て表示する
$ join -a 1 -a 2 cc.txt bb.txt
1 aaa 50
2 100
3 ccc 150
4 ddd
5 eee 250
cc.txtとbb.txtを1列目の項目で結合し、1番目のファイル(cc.txt)の1列目と2列目を表示する
$ join -o 1.1 1.2 cc.txt bb.txt
1 aaa
3 ccc
5 eee
1.1は1番目のファイルの1列目という意味です。
備考
- joinは、「join:結合する」という英単語が元になっています。
- joinを使うと、SQLでテーブルを結合するかのようにテキストファイルを結合表示することができます。