shell中常用的命令—join命令
1.连接
内连接:将两个文件中每列第一个字符相同的行合并
全连接(显示左边和右边所有记录)
join file1 file2 #内连接:将两个文件中每列第一个字符相同的行合并
join -a1 file1 file2 #显示左边文件中的所有记录(右边文件中没有匹配的不显示)
join -a2 file1 file2 #显示右边文件中的所有记录(左边文件中没有匹配的不显示)
join -a1 -a2 file1 file2 #全连接(显示左边和右边所有记录)
2.指定输出字段
-o:指定输出字段
join -o 1.1 file1 file2 #指定输出第一个文件的第一个字段
指定输出多个字段:
join -o 1.1 2.2 file1 file2 #指定输出第一个文件的第一个字段和第二个文件的第二个字段
3.指定分隔符
-t:指定分隔符
在下面的例子中,如果不指定分隔符,它会按照第一列的内容连接(ABCD…)
join -t ':' file3 file4 #以:为分隔符连接
4.不匹配的行输出
-v 1:不匹配的行输出
join -v 1 -a1 -a2 file1 file2
注意:-v后面的1不能省略