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

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
-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行目をヘッダとして扱い、結合せずに
表示を行う
-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行目をヘッダとして扱い、結合せずに 表示を行う
-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