join命令:

join lines of two files on a common field

将两个文件中指定栏相同的连接起来

语法格式:

join [OPTION]... FILE1 FILE2

实例:

#打印文件查看
[root@www1 ~]# cat s1.txt s2.txt
1 星期一
2 星期二
3 星期三
4 星期四
5 星期五
6 星期六
7 星期七
第一个文件哦~
1 MON
2 TUE
3 WED
4 THU
5 FRI
6 SAT
7 SUN
第二个文件哦~

#将文件相同的区域连接起来
[root@www1 ~]# join s1.txt s2.txt
1 星期一 MON
2 星期二 TUE
3 星期三 WED
4 星期四 THU
5 星期五 FRI
6 星期六 SAT
7 星期七 SUN

#更改文件顺序
[root@www1 ~]# join s2.txt s1.txt
1 MON 星期一
2 TUE 星期二
3 WED 星期三
4 THU 星期四
5 FRI 星期五
6 SAT 星期六
7 SUN 星期七

#a表示只打印相同的区域,1表示打印第一个文件中的不同
[root@www1 ~]# join -a1 s1.txt s2.txt
1 星期一 MON
2 星期二 TUE
3 星期三 WED
4 星期四 THU
5 星期五 FRI
6 星期六 SAT
7 星期七 SUN
第一个文件哦~

#a表示只打印相同的区域,2表示打印第二个文件中的不同
[root@www1 ~]# join -a2 s1.txt s2.txt
1 星期一 MON
2 星期二 TUE
3 星期三 WED
4 星期四 THU
5 星期五 FRI
6 星期六 SAT
7 星期七 SUN
第二个文件哦~

#v表示只打印不同的部分。1表示打印第一个文件中的不同
[root@www1 ~]# join -v1 s1.txt s2.txt
第一个文件哦~

##v表示只打印不同的部分。1表示打印第二个文件中的不同
[root@www1 ~]# join -v2 s1.txt s2.txt
第二个文件哦~
[root@www1 ~]#