join命令
功能
文档内容合并。用于找出两个文件中指定栏位内容相同的行并加以合并,再输出到标准输出设备。
语法
join [-i][-a<1或2>][-e<字符串>][-o<格式>][-t<字符>][-v<1或 2>][-1<栏位>][-2<栏位>][–help][–version][文件1][文件2]
常用参数说明:
-a<1或2> 除了显示原来的输出内容之外,还显示指令文件中没有相同栏位的行。
-e<字符串> 若[文件1]与[文件2]中找不到指定的栏位,则在输出中填入选项中的字符串。
-i或–igore-case 比较栏位内容时,忽略大小写的差异。
-o<格式> 按照指定的格式来显示结果。
-t<字符> 使用栏位的分隔字符。
-v<1或2> 跟-a相同,但是只显示文件中没有相同栏位的行。
-1<栏位> 连接[文件1]指定的栏位。
-2<栏位> 连接[文件2]指定的栏位。
–help 显示帮助。
–version 显示版本信息。
示例
//file1
aaaaaaaa
bbbbbbb
ccccccccc
//file2
11111111
22222222
- 将两个文件内容相同的行连接起来:
$ join file1 file2
aaaaaaaa 11111111
bbbbbbb 22222222$ join file2 file1
11111111 aaaaaaaa
22222222 bbbbbbb
- 显示第一个文件第二个域,第二个文件第二个域:
$ join -o 1.2 2.2 file1 file2
aaaaaaaa 11111111
bbbbbbb 22222222
- 显示第一个文件不匹配的行(其他选项用到时再写出):
$ join -a1 file1 file2
aaaaaaaa 11111111
bbbbbbb 22222222
ccccccccc
显示第二个文件不匹配的行同理。