linux join命令详解

人气:229 ℃/2023-02-13 17:34:21

linux系统join命令详解有哪些?让我们一起来了解下。

join指令是将两个具有相同域的纪录给挑选出来,再将这些纪录所有的域放到一行,需要注意的是,join在对两个文件进行连接时,两个文件必须都是按照连接域排好序的,按其他域排序是无效的。

语法:join [-i][-a<1或2>][-e<字符串>][-o<格式>][-t<字符>][-v<1或2>][-1<栏位>][-2<栏位>][--help][--version][文件1][文件2]

参考例子:

将两个文件的具有共同域的纪录连接在一起:

[root@linux265 ~]# cat file.db

A li:20:men:anhui

B wang:21:women:jiangsu

C zhang:22:men:anhui

D liu:23:women:Shanghai

E chen:23:women:Hefei

[root@linux265 ~]# cat file_hobby.db

A li:Song

B wang:shopping

C zhang:pingpong

D liu:chess

E Wang:reading

[root@linux265 ~]# join -t: file.db file_hobby.db

A li:20:men:anhui:Song

B wang:21:women:jiangsu:shopping

C zhang:22:men:anhui:pingpong

D liu:23:women:Shanghai:chess

参数:

-a1或-a2 除了显示共同域的纪录之外,-a1显示第一个文件没有共同域的纪录,-a2显示第二个文件中没有共同域的纪录

-i 忽略大小写

-o 设置结果显示的格式

-t 改变域的分隔符

-v1或-v2 不显示共同域的纪录之外,-v1显示第一个文件没有共同域的纪录,-v2显示第二个文件中没有共同域的纪录

-1或-2 -1用来设置文件1连接的域,-2用来设置文件2连接的域

今天的分享就是这些,希望能帮助大家。

linuxjoin命令详解

不为人知的Linux命令--join

概述

很多时候我们需要把2个文件合并到一起,可以怎么实现呢?下面介绍下Linux中的join命令。


join命令

功能说明:将两个文件中,指定栏位内容相同的行连接起来。

语法:

join [-i][-a<1或2>][-e<字符串>][-o<格式>] [-t<字符>][-v<1或2>][-1<栏位>][-2<栏位>][--help] [--version][文件1][文件2]

补充说明:找出两个文件中,指定栏位内容相同的行,并加以合并,再输出到标准输出设备。

参数:


环境准备

需求:合并以下两个文件,一起合并在一起,合并到1.txt中

# 1.txtJerry 20Alice 30David 40# 2.txtJerry manAlice womanDavid 40

实现

上面的文件特点是有相同的,则合并,第二列缺少内容的。使用join -a1 1.txt 2.txt就可以实现这个需求。

# join -a1 1.txt 2.txt


这个命令在某些场合还是有用的,虽然用的不是很多,做个简单了解即可。后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~

推荐

首页/电脑版/网名
© 2025 NiBaKu.Com All Rights Reserved.