「Linux」joinコマンドでテキストファイルを同じ項目同士で結合する方法

書式
join オプション ファイルA ファイルB > ファイルC
オプション一覧

-j FIELD          equivalent to '-1 FIELD -2 FIELD'
-o FORMAT         obey FORMAT while constructing output line
-t CHAR           use CHAR as input and output field separator
-v FILENUM        -a FILENUM と同様だた結合した行を出力しない
-1 FIELD          FILE1 の FIELD 番目のフィールドを使用して結合する
-2 FIELD          FILE1 の FIELD 番目のフィールドを使用して結合する
--check-order     入力行の組み合わせが全て存在していたとしても、入力
                    が正しく並べ替えられているかを確認する
--nocheck-order   入力が正しく並べられているかを確認しない
--header          各ファイルの1行目をヘッダとして扱い、結合せずに
                    表示を行う

使用例
# cat testA.txt
1 AAA
2 BBB
3 CCC
4 DDD
5 EEE
6 FFF
# cat testB.txt
1 aaa
2 bbb
3 ccc
4 ddd
5 eee
6 fff
ファイルを結合
# join -j 1 testA.txt testB.txt > result.txt
結果を確認
# cat result.txt
1 AAA aaa
2 BBB bbb
3 CCC ccc
4 DDD ddd
5 EEE eee
6 FFF fff

Linux

Posted by arkgame