join极类似于SQL中的join的关键字
功能说明:通过公共字段将两个文件合并。
连接方式如下:
内连接 格式:join <FILE1> <FILE2>
左连接 格式:join -a1 <FILE1> <FILE2>
右连接 格式:join -a2 <FILE1> <FILE2>
全连接 格式:join -a1 -a2 <FILE1> <FILE2>
参数说明:
-a <1或2> 除了显示原来的输出内容之外,还显示指令文件中没有相同栏位的行。
-e <字符串> 若[文件1]与[文件2]中找不到指定的栏位,则在输出中填入选项中的字符串。
-i或--igore-case 比较栏位内容时,忽略大小写。
-o <FILENO.FIELDNO> 比如:-o 1.1 1.2 2.2 表示输出第一个文件的第1、2个字段,第2个文件的第2个字段
-t <字符> 指定分隔符。
-v <1或2> 跟-a相同,但是只显示文件中没有相同栏位的行。
-1 <FIELD> 连接[文件1]指定的栏位。
-2 <FIELD> 连接[文件2]指定的栏位。
-j FIELD 等价于 `-1 FIELD -2 FIELD'
举例说明:
1)join -t ":" /etc/group /etc/gshadow
输出:
root:x:0::*::
daemon:x:1::*::
bin:x:2::*::
sys:x:3::*::
2)join -1 1 -2 1 -t ':' -o 1.1 2.2 2.3 /etc/group /etc/gshadow | sed "s/:/\t/g"
输出第1个文件的第1个字段、第2个文件的第2、3个字段;最后把:改为/t
root *
daemon *
bin *
sys *
功能说明:通过公共字段将两个文件合并。
连接方式如下:
内连接 格式:join <FILE1> <FILE2>
左连接 格式:join -a1 <FILE1> <FILE2>
右连接 格式:join -a2 <FILE1> <FILE2>
全连接 格式:join -a1 -a2 <FILE1> <FILE2>
参数说明:
-a <1或2> 除了显示原来的输出内容之外,还显示指令文件中没有相同栏位的行。
-e <字符串> 若[文件1]与[文件2]中找不到指定的栏位,则在输出中填入选项中的字符串。
-i或--igore-case 比较栏位内容时,忽略大小写。
-o <FILENO.FIELDNO> 比如:-o 1.1 1.2 2.2 表示输出第一个文件的第1、2个字段,第2个文件的第2个字段
-t <字符> 指定分隔符。
-v <1或2> 跟-a相同,但是只显示文件中没有相同栏位的行。
-1 <FIELD> 连接[文件1]指定的栏位。
-2 <FIELD> 连接[文件2]指定的栏位。
-j FIELD 等价于 `-1 FIELD -2 FIELD'
举例说明:
1)join -t ":" /etc/group /etc/gshadow
输出:
root:x:0::*::
daemon:x:1::*::
bin:x:2::*::
sys:x:3::*::
2)join -1 1 -2 1 -t ':' -o 1.1 2.2 2.3 /etc/group /etc/gshadow | sed "s/:/\t/g"
输出第1个文件的第1个字段、第2个文件的第2、3个字段;最后把:改为/t
root *
daemon *
bin *
sys *