「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