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 显示版本信息。
(1)该实例将创建 demo1 和 demo2 两个文件,然后使用 join 命令以默认的方式比较两个文件,将两个文件中指定字段的内容相同的行连接起来,命令如下:
# 查看 demo1 内容 hxstrive@localhost:~$ cat demo1 Name Age Helen 40 Tom 35 Bill 38 # 查看 demo2 内容 hxstrive@localhost:~$ cat demo2 Name Sex Helen Male Tom Female Bill Male # 连接两个文件 hxstrive@localhost:~$ join demo1 demo2 Name Age Sex Helen 40 Male Tom 35 Female Bill 38 Male
(2)该实例将创建 demo1 和 demo2 两个文件,然后使用 join 命令以 demo1 的第一列和 demo2 第二列进行比较,将两个文件中指定字段的内容相同的行连接起来,命令如下:
# 查看 demo1 内容 hxstrive@localhost:~$ cat demo1 Name Age Helen 40 Tom 35 Bill 38 # 查看 demo2 内容 hxstrive@localhost:~$ cat demo2 Salary Name Sex 12000 Helen Male 8900 Tom Female 10200 Bill Male # 连接两个文件,以 demo1 的第一列和 demo2 的第二列进行比较 hxstrive@localhost:~$ join -22 demo1 demo2 Name Age Salary Sex Helen 40 12000 Male Tom 35 8900 Female Bill 38 10200 Male
更多关于命令详细参考手册,请使用 man 命令或者 --help 参数获取帮助信息