命令行手册

Man » join 手册在线 - 详细的 join man 页面在线文档

🌍
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 编写。

报告错误

GNU coreutils 在线帮助:[https://www.gnu.org/software/coreutils/] 请将任何翻译错误报告到:[https://translationproject.org/team/]

参阅

comm(1),uniq(1)

完整文档 [https://www.gnu.org/software/coreutils/join] 或在本地通过以下方式获取:info '(coreutils) join invocation'

由 Debian (9.7-3) 封装 版权所有 © 2025 自由软件基金会。 许可证 GPLv3+:GNU GPL 版本 3 或更高版本 [https://gnu.org/licenses/gpl.html]。 这是一个自由软件:您可以自由地更改和重新分发它。 在法律允许的范围内,不提供任何保证。