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连接的域
今天的分享就是这些,希望能帮助大家。