Scroll to navigation

JOIN(1) 用户命令 JOIN(1)

名称

join - 根据公共字段连接两个文件的行

概述

join [选项]... 文件1 文件2

描述

对具有相同的合并域的每一对输入行,在标准输出写出一行信息。默认的合并域是第一列的内容,使用空白字符分隔。

当 文件1 或 文件2 为 - 时(不能两者同时为 -),从标准输入读取。

同时打印文件编号所对应文件的无法配对的行,其中文件编号可以是 1 或者 2,分别对应于 文件1 或 文件2
用给定字符串替换缺失的(空)输入字段;即,由 '-12jo' 选项指定的缺失字段
比较各个域时忽略大小写差异
等效于 "-1 字段 -2 字段"
按照指定格式构造输出行
使用指定字符作为输入和输出字段的分隔符
类似 -a 文件编号,但不输出已连接的行
-1 字段
根据 文件1 的该字段进行连接
-2 字段
根据 文件2 的该字段进行连接
检查输入是否正确排序,即便所有输出行均可配对
不要检查输入是否正确排序
将每个文件的第一行视为字段标题,将其打印出来且不尝试进行配对
以 NUL 作为行的分隔符,而非换行符
显示此帮助信息并退出
显示版本信息并退出

除非给出了 -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