Linux:join命令详解

join

处理两个文件之间的数据,并且将两个文件中有相同的数据的那一行加在一起

 

语法

join(选项)(file1 file2)

 

选项

-a<1或2>:除了显示原来的输出内容之外,还显示指令文件中没有相同栏位的行;

-e<字符串>:若[文件1]与[文件2]中找不到指定的栏位,则在输出中填入选项中的字符串;

-i或--ignore-case:比较栏位内容时,忽略大小写的差异;

-o<格式>:按照指定的格式来显示结果;

-t<字符>:使用栏位的分割字符;

-v<1或2>:更-a相同,但是只显示文件中没有相同栏位的行;

-1<栏位>:连接[文件1]指定的栏位;

-2<栏位>:连接[文件2]指定的栏位。

 

参数

file1:要进行合并操作的第1个文件参数;

file2:要进行合并操作的第2个文件参数。

实例

将/etc/passwd和 /etc/shadow第一字段相同整合成一行

join -t ':' /etc/passwd /etc/shadow
结果:
bin:x:1:1:bin:/bin:/sbin/nologin:*:15980:0:99999:7:::
daemon:x:2:2:daemon:/sbin:/sbin/nologin:*:15980:0:99999:7:::
adm:x:3:4:adm:/var/adm:/sbin/nologin:*:15980:0:99999:7:::
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin:*:15980:0:99999:7:::

 

PS

在使用join前,应先sort排序,以免一些对比的项目被略过

 

posted @ 2017-02-03 02:22  Spiro-k  阅读(3120)  评论(0编辑  收藏  举报