【Linux】2つのファイルの共通のフィールドを連結する:join

Linux

どーも!marusukeです!

2つのファイルの共通のフィールドを連結するコマンドjoinについて説明します!

joinコマンドでできること

join コマンドは、2つのファイルを共通のフィールド(列)どうしを結合します

指定したフィールド(デフォルトでは第一フィールド)が一致する行同士を結合して出力します

join コマンドを使用する際は、結合するフィールドがソートされている必要があります

joinコマンドの使用例

# file1.txt と file2.txt を第一フィールドを基にして結合する
join file1.txt file2.txt

# 出力結果(例)
1 内容A 内容1
2 内容B 内容2

joinコマンドのオプション

オプション説明
-j両ファイルで共通の結合フィールド番号を指定します。
例: -j 1(第一フィールドで結合する)
-1第一ファイルで結合に使用するフィールドを指定します。(このオプションは -j と組み合わせることはできません)
-2第二ファイルで結合に使用するフィールドを指定します。(このオプションは -j と組み合わせることはできません)
-tフィールドの区切り文字を指定します。(デフォルトはスペース)
-a指定されたファイル(-a 1または-a 2)の、結合にマッチしなかったすべての行を出力します。
-o出力するフィールドのフォーマットを指定します。
例: -o 1.1,2.2(第一ファイルの第一フィールドと第二ファイルの第二フィールドを表示する)

以上です!

ここまで読んでいただきありがとうございました!

コメント

タイトルとURLをコピーしました