JOIN(1) 使用者命令 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

2026年四月 GNU coreutils 9.11