GNU Core Utilities/join
join
コマンドは、2つのファイルを指定した共通のフィールドで結合するためのユーティリティです。このコマンドは IEEE Std 1003.1-2001(POSIX.1)に準拠しており、複数のファイルを関連付けて、共通のキーを持つ行を結合するのに使用されます。
基本的な使い方
編集join [オプション] ファイル1 ファイル2
主なオプション
編集主なオプション オプション 説明 -a FILE_NUMBER, --auto-output=FILE_NUMBER
出力に指定したファイルを含める(FILE_NUMBERは 1 または 2) -i, --ignore-case
大文字と小文字を区別せずに比較 -j, --join=FIELD
指定したフィールドで結合(デフォルトは1) -o, --output=FORMAT
出力形式を指定 -t, --separator=CHAR
フィールドを区切る区切り文字を指定(デフォルトは空白またはタブ) -v, --unjoin
一致しない行のみを出力 --help
ヘルプメッセージを表示
例
編集2つのファイルを共通のフィールドで結合
編集join file1.txt file2.txt
file1.txt
と file2.txt
の共通のフィールド(デフォルトは1列目)を基に行を結合して表示。
大文字と小文字を区別せずに結合
編集join -i file1.txt file2.txt
file1.txt
と file2.txt
の内容を、大文字小文字を区別せずに結合して表示。
特定のフィールドで結合
編集join -j 2 file1.txt file2.txt
file1.txt
と file2.txt
の2番目のフィールドを基に行を結合して表示。
一致しない行だけを表示
編集join -v 1 file1.txt file2.txt
file1.txt
に存在し、file2.txt
に存在しない行のみを表示。
FreeBSD 版との違い
編集FreeBSD でも join
コマンドが提供されており、POSIX 準拠の動作をしています。基本的なオプションや動作に関しては、Linux や他の UNIX 系システムと大きな違いはありません。
詳しくは、それぞれの環境で man join
を確認してください。