欢迎来到资源库(www.zyku.net)

Linux手册

当前位置:首页 > 在线手册 > Linux手册 > join命令

Linux join命令

时间:2022-07-05|栏目:Linux手册|点击:|我要投稿

命令:join

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

join的连接操作简言之就是将两个具有相同域的纪录给挑选出来,再将这些纪录所有的域放到一行。

注意:join在对两个文件进行连接时,两个文件必须都是按照连接域排好序的,按其他域排序是无效的。

语法格式

join [参数] [文件1] [文件2]

参数说明

-a1或-a2 除了显示共同域的纪录之外,-a1显示第一个文件没有共同域的纪录,-a2显示第二个文件中没有共同域的纪录
-i 忽略大小写
-o 设置结果显示的格式
-t 改变域的分隔符
-v1或-v2 不显示共同域的纪录之外,-v1显示第一个文件没有共同域的纪录,-v2显示第二个文件中没有共同域的纪录
-1或-2 -1用来设置文件1连接的域,-2用来设置文件2连接的域

实例详解

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

[root@localhost ~]# 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@localhost ~]# cat file_hobby.db 
 A li:Song
 B wang:shopping
 C zhang:pingpong
 D liu:chess
 E Wang:reading
[root@localhost ~]# 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则显示第二个:

[root@localhost ~]# join -t: -a1 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
 E chen:23:women:Hefei
[root@localhost ~]# join -t: -a2 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
 E Wang:reading

设置指定格式的域来显示出来(将具有共同纪录的域按照姓名+性别+爱好的格式显示出来):

[root@localhost ~]# join -t: -o1.1 1.3 2.2 file.db file_hobby.db 
 A li:men:Song
 B wang:women:shopping
 C zhang:men:pingpong
 D liu:women:chess

(资源库 www.zyku.net)

上一篇:Linux look命令

栏    目:Linux手册

下一篇:Linux joe命令

本文标题:Linux join命令

本文地址:https://www.zyku.net/article/11938.html

关于我们 | 版权申明 | 寻求合作 |

重要申明:本站所有的文章、图片、评论等内容,均由网友发表或上传并维护或收集自网络,仅供个人学习交流使用,版权归原作者所有。

如有侵犯您的版权,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:95148658 | 邮箱:mb8#qq.com(#换成@)

苏ICP备2020066115号-1

本网站由提供CDN加速/云存储服务