如何在 Linux 中将两个文件的行按公共字段连接起来?
linuxoperating systemopen source
要在 Linux 系统中将两个文件的行按公共字段连接起来,可以使用 join 命令。join 命令用于将两个文件的行按公共字段连接起来。如果我们有两个文件,并且想要连接其中的行,则无需合并这两个文件。我们可以使用 join 命令连接行而无需合并文件。默认情况下,连接字段是第一个字段,以空格分隔。
语法
join 命令的一般语法如下:
join [选项]... FILE1 FILE2
注意 - 如果未指定 FILE1 或 FILE2 或两者都未指定,则 join 命令从标准输入读取。
fmt 命令可用选项的简要说明。
| Sr.No. | 选项 &描述 |
|---|---|
| 1 | -a, FILENUM 同时打印文件 FILENUM 中不可配对的行,其中 FILENUM 为 1 或 2,分别对应于 FILE1 或 FILE2 |
| 2 | -e EMPTY 将缺失的输入字段替换为 EMPTY |
| 3 | -i, --ignore-case 比较字段时忽略大小写差异 |
| 4 | -j FIELD 等效于"-1 FIELD"。 -2 字段 |
| 5 | -o FORMAT 构造输出行时请遵循 FORMAT 格式 |
| 6 | -t CHAR 使用 CHAR 作为输入和输出字段分隔符 |
| 7 | -v FILENUM 类似于 -a FILENUM,但会抑制合并后的输出行 |
| 8 | -1 FIELD 基于文件 1 的此字段进行连接 |
| 9 | -2 FIELD 基于文件 2 的此字段进行连接 |
| 10 | --header 将每个文件的第一行视为字段标题,并打印它们而不尝试配对 |
| 11 | -z, --zero -terminated 行分隔符为 NULL,而非换行符 |
| 12 | --help 显示帮助信息后退出。 |
| 13 | --version 显示版本信息后退出。 |
要将两个文件的行合并并输出到标准输出,我们使用不带任何其他选项的 join 命令,如下所示。
首先,我们将使用 Linux 系统中的 cat 命令创建两个已排序的文件。
$ cat > text1.txt 1 SID 2 SAYANI 3 GAURAV 4 VIKASH $ cat >text2.txt 1 23 2 19 3 22 4 21
接下来,我们将使用 join 命令在 Linux 系统中连接多行,如下所示。
$ join text1.txt text2.txt 1 SID 23 2 SAYANI 19 3 GAURAV 224 VIKASH 21
注意 - 要合并两个文件,两个文件必须有一些共同字段。
我们可以创建一个新文件,将共同字段合并到其中,如下所示。
$ join text1.txt text2.txt > jointext.txt
要查看 join 命令的更多信息,请在 Linux 操作系统中使用 join 命令的 --help 选项,如下所示。
$ join --help
要查看 join 命令的版本信息,请在 Linux 操作系统中使用 join 命令的 --version 选项,如下所示。
$ join --version
相关文章
有用资源
linux 参考教程 - 该教程包含有关 linux 的更多信息:https://www.cainiaomax.com/linux/

