JOIN(1)

名稱
join - 根據公共欄位連線兩個檔案的行

概述
join [選項]... 檔案1 檔案2

描述

對具有相同的合併域的每一對輸入行，在標準輸出寫出一行資訊。預設的合併域是第一列的內容，使用空白字元分隔。

當 檔案1 或 檔案2 為 - 時（不能兩者同時為 -），從標準輸入讀取。

-a 檔案編號
    同時列印檔案編號所對應檔案的無法配對的行，其中檔案編號可以是 1 或者 2，分別對應於 檔案1 或 檔案2

-e 字串
    用給定字串替換缺失的（空）輸入欄位；即，由 '-12jo' 選項指定的缺失欄位

-i, --ignore-case
    比較各個域時忽略大小寫差異

-j 欄位
    等效於 "-1 欄位 -2 欄位"

-o 格式
    按照指定格式構造輸出行

-t 字元
    使用指定字元作為輸入和輸出欄位的分隔符

-v 檔案編號
    類似 -a 檔案編號，但不輸出已連線的行

-1 欄位
    根據 檔案1 的該欄位進行連線

-2 欄位
    根據 檔案2 的該欄位進行連線

--check-order
    檢查輸入是否正確排序，即便所有輸出行均可配對

--nocheck-order
    不要檢查輸入是否正確排序

--header
    將每個檔案的第一行視為欄位標題，將其打印出來且不嘗試進行配對

-z, --zero-terminated
    以 NUL 作為行的分隔符，而非換行符

--help
    顯示此幫助資訊並退出

--version
    顯示版本資訊並退出

除非給出了 -t 字元，前導空白字元將被用於分隔欄位並被忽略；否則給定的字元將被用來分隔欄位。任何給定的欄位應為從 1 開始計數的欄位編號。給定的格式應為一個或多個以逗號或空白字元分隔的規範字串，其中每個字串格式為“檔案編號.欄位”或者“0”。預設的格式將輸出被連線的欄位、來自 檔案1 的剩餘欄位以及來自 檔案2 的剩餘欄位；它們都由給定分隔用字元所分隔。如果給定格式字串為“auto”關鍵字，那麼每個檔案的第一行決定每行輸出的欄位數量。

重要提示：檔案1 和 檔案2 必須按照連線欄位排序。例如，如果 'join' 沒有選項，則使用 "sort -k 1b,1"；或者如果 'sort' 沒有選項則使用 "join -t ''"。比較遵循“LC_COLLATE”指定的規則。如果輸入未排序且某些行無法連線，程式將會給出警告資訊。

作者
由 Mike Haertel 編寫。

報告錯誤
請報告問題至：bug-coreutils@gnu.org
GNU coreutils 主頁： <https://www.gnu.org/software/coreutils/>
使用 GNU 軟體的通用幫助： <https://www.gnu.org/gethelp/>
請向 <https://translationproject.org/team/zh_CN.html> 報告翻譯錯誤

版權
版權所有 © 2026 自由軟體基金會。許可證 GPLv3+: GNU GPL 第 3 版或更新版本 <https://gnu.org/licenses/gpl.html>。
本軟體是自由軟體：您可以自由修改和重新發布它。在法律允許的範圍內，不提供任何保證。

參見
comm(1), uniq(1)

完整文件請見： <https://www.gnu.org/software/coreutils/join>
或者在本地使用： info '(coreutils) join invocation'

跋
本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃：https://github.com/man-pages-zh/manpages-zh