Linux面试指令---join指令

join 命令

       join 命令类似于 paste,它会往文件中添加列,但是它使用了独特的方法来完成。一个 join 操作通常与关系型数据库有关联,在关系型数据库中来自多个享有共同关键域的表格的数据结合起来,得到一个期望的结果。这个 join 命令执行相同的操作,它把来自于多个基于共享关键域的文件的数据结合起来。

        通俗地说,就是将两个文件中指定栏位相同的行连接起来,即按照两个文件中共同拥有的某一列,将对应的行拼接成一行。

(1)命令格式

         join [选项] 文件 1 文件 2

(2)常用参数

参数 描述
-j FIELD 等同于 -1 FIELD -2 FIELD,-j 指定一个域作为匹配字段
-1 FIELD 以 file1 中 FIELD 字段进行匹配
-2 FIELD 以 file2 中 FIELD 字段进行匹配
-t 自定义分隔符,默认为制表符

(3)常用范例

         例一:将两个文件中的第一个字段作为匹配字段,连接两个文件,可以使用如下命令:

join  a.txt  b.txt

        例二:指定两个文件的第三个字段为匹配字段,连接两个文件,可以使用如下命令:

join  -1 3 -2 3 c.txt d.txt

      从上面的结果可以看到,一开始对 a.txt 和 b.txt 文件内容执行 join 命令时报错,这是因为 join 命令跟 uniq 命令一样,只能用于排过序的数据。 

猜你喜欢

转载自blog.csdn.net/qq_30123335/article/details/83315962