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 #指定输出第一个文件的第一个字段和第二个文件的第二个字段。只有两个文件中相同的字符字段才会输出
join -o 1.1 2.2 1.2 file1 file2 #指定输出第一个文件的第一个字段和第二个文件的第二个字段和第一个文件的第二个字段
3.-t:指定分隔符
join -t ":" /etc/passwd /etc/shadow#以:为分隔符连接
4.-v 1 :不匹配的行输出
join -v 1 -a1 -a2 file1 file2