linux 两个文件中指定栏位内容相同的行连接起来 命令:join

使用Linux命令join将两个文件中指定栏位内容相同的行连接起来

在Linux环境下,join命令可以用来将两个文件中指定栏位内容相同的行连接起来。下面将介绍如何使用join命令。

步骤1:了解join命令的基本语法

join命令的基本语法为:

join [选项] 文件1 文件2

其中,选项包括:

  1. -a 文件编号:也就是-all参数,指定输出的所有行,包括没有匹配的行;
  2. -t 分隔符:指定文件的分隔符;
  3. -1 栏位编号:指定文件1中用来匹配的栏位编号;
  4. -2 栏位编号:指定文件2中用来匹配的栏位编号;
  5. -o 输出格式:指定输出的格式。

步骤2:准备两个要进行连接的文件

我们可以使用下面的两个文件作为示例:

文件1.txt:
123,chris
456,john
789,lily

文件2.txt:
123,beijing
789,shanghai
111,guangzhou

其中,文件1.txt包含了编号和姓名两个栏位的信息;文件2.txt包含了编号和地址两个栏位的信息。

步骤3:使用join命令连接两个文件

下面使用join命令将两个文件中指定栏位内容相同的行连接起来:

join -t ',' -1 1 -2 1 文件1.txt 文件2.txt

此命令的意思是:将文件1.txt和文件2.txt中编号相同的行连接起来,行的编号在两个文件中分别位于第一个栏位。

步骤4:指定输出格式

默认情况下,join命令会输出连接后的行,每一行用空格隔开,格式比较松散。我们可以使用-o参数来指定输出的格式。

join -t ',' -1 1 -2 1 -o 1.1,1.2,2.2 文件1.txt 文件2.txt

此命令的意思是:输出文件1.txt中的第一个栏位,文件1.txt中的第二个栏位,以及文件2.txt中的第二个栏位。

最后,运行结果如下:

123,chris,beijing
789,lily,shanghai

可以发现,文件1.txt中的第一行和文件2.txt中的第一行被连接起来了,编号为:123,chris,beijing;文件1.txt中的第三行和文件2.txt中的第二行被连接起来了,编号为:789,lily,shanghai

总结

  1. join命令可以用来将两个文件中指定栏位内容相同的行连接起来;
  2. 使用前需要了解join命令的基本语法,包括选项和参数;
  3. 需要指定栏位编号和分隔符;
  4. 可以使用-o参数来指定输出格式。
© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容