好用的a站,视频网站 阿里云,公司建设网站能提升什么竞争力,前端开发面试会被问到的一些问题#x1f3c6;作者简介#xff0c;黑夜开发者#xff0c;全栈领域新星创作者✌。CSDN专家博主#xff0c;阿里云社区专家博主#xff0c;2023年6月csdn上海赛道top4。 #x1f3c6;数年电商行业从业经验#xff0c;历任核心研发工程师#xff0c;项目技术负责人。 … 作者简介黑夜开发者全栈领域新星创作者✌。CSDN专家博主阿里云社区专家博主2023年6月csdn上海赛道top4。 数年电商行业从业经验历任核心研发工程师项目技术负责人。 本文已收录于专栏Linux命令大全。 本专栏我们会通过具体的系统的命令讲解加上鲜活的实操案例对各个命令进行深入讲解。欢迎提前锁定关注。 欢迎 点赞✍评论⭐收藏 文章目录 一、简介二、语法三、实例解析3.1 例子 13.2 例子 23.2 例子 33.4 例子 43.5 例子 53.6 例子 63.7 例子 73.8 例子 8 四、总结 一、简介 Linux join 命令是一个可以将两个文件按照指定的键连接在一起的工具。它使用相同的字段值连接两个文件并输出结果。join 命令适用于需要将多个文件进行联接的场景通常与排序命令如 sort和文本处理命令如 awk结合使用。 二、语法
join 命令的基本语法为
join [选项] 文件1 文件2选项包括
-a FILENUM要显示文件中未关联的行。FILENUM 可以取值 1 或 2分别表示未关联的行在文件1或文件2中。-e EMPTY用 EMPTY 来填充关联缺失的字段。默认情况下为空。-t CHAR指定字段之间的分隔符默认为制表符。-1 FIELD以文件1的第 FIELD 字段作为键关联。-2 FIELD以文件2的第 FIELD 字段作为键关联。
三、实例解析
下面给出 8 个实际的例子来解释 join 命令的用法。
3.1 例子 1
假设有两个文件 file1.txt 和 file2.txt它们的内容如下
file1.txt
1 Tom
2 Jerry
3 Alicefile2.txt
1 English
2 Math
3 Science要将这两个文件按第一个字段连接起来可以使用如下的命令
$ join file1.txt file2.txt输出结果为
1 Tom English
2 Jerry Math
3 Alice Sciencejoin 命令默认以文件中的第一列作为连接键。
3.2 例子 2
如果文件中的键不是按顺序排列的我们可以先对文件进行排序再进行连接。假设 file1.txt 和 file2.txt 的内容如下
file1.txt
2 Jerry
1 Tom
3 Alicefile2.txt
3 Science
1 English
2 Math可以使用以下命令进行连接
$ join (sort file1.txt) (sort file2.txt)输出结果为
1 Tom English
2 Jerry Math
3 Alice Science3.2 例子 3
有时候文件中的键可能包含重复项这会导致连接结果中出现多个匹配。假设 file1.txt 和 file2.txt 的内容如下
file1.txt
1 Tom
2 Jerry
2 Alicefile2.txt
2 English
2 Math
3 Science可以使用以下命令进行连接
$ join file1.txt file2.txt输出结果为
2 Jerry English
2 Jerry Math
2 Alice English
2 Alice Math可以看到重复的键会导致多次匹配。
3.4 例子 4
可以使用 -a 选项来显示未关联的行。假设 file1.txt 和 file2.txt 的内容如下
file1.txt
1 Tom
2 Jerry
3 Alicefile2.txt
2 Math
3 Science
4 English可以使用以下命令进行连接
$ join -a 1 file1.txt file2.txt输出结果为
1 Tom
2 Jerry Math
3 Alice Science可以看到文件1中没有的键 4 English 并没有出现在输出结果中。
3.5 例子 5
可以使用 -e 选项来指定当关联缺失时要填充的内容。假设 file1.txt 和 file2.txt 的内容如下
file1.txt
1 Tom
2 Jerry
3 Alicefile2.txt
2 Math
3 Science
4 English可以使用以下命令进行连接
$ join -e NA file1.txt file2.txt输出结果为
1 Tom NA
2 Jerry Math
3 Alice Science可以看到关联缺失的字段被填充为 “NA”。
3.6 例子 6
通过 -t 选项可以指定字段之间的分隔符。假设 file1.txt 和 file2.txt 的内容如下
file1.txt
1,Tom
2,Jerry
3,Alicefile2.txt
2,Math
3,Science
4,English可以使用以下命令进行连接
$ join -t , file1.txt file2.txt输出结果为
2,Jerry,Math
3,Alice,Science可以看到通过 -t 选项我们将字段之间的分隔符指定为逗号。
3.7 例子 7
-1 和 -2 选项可以用于指定连接的键位于文件中的哪一列。假设 file1.txt 和 file2.txt 的内容如下
file1.txt
Tom 1
Jerry 2
Alice 3file2.txt
English 1
Math 2
Science 3可以使用以下命令进行连接
$ join -1 2 -2 2 file1.txt file2.txt输出结果为
Tom 1 English
Jerry 2 Math
Alice 3 Science可以看到通过 -1 和 -2 选项我们分别指定了连接键所在的列。
3.8 例子 8
可以连接多个文件。假设 file1.txt、file2.txt 和 file3.txt 的内容如下
file1.txt
1 Tom
2 Jerry
3 Alicefile2.txt
3 Science
1 English
2 Mathfile3.txt
1 Male
2 Male
3 Female可以使用以下命令进行连接
$ join file1.txt file2.txt file3.txt输出结果为
1 Tom English Male
2 Jerry Math Male
3 Alice Science Female可以看到多个文件会按照顺序依次连接。
四、总结
通过本文我们详细了解了 Linux join 命令的用法及其选项。我们通过几个实际的例子来演示了如何使用 join 命令进行文件联接。join 命令对于需要在 Linux 系统上处理和分析多个文件时非常有用可以帮助我们高效地处理数据和完成任务。本篇文章就到这里我们下次见。