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 参数获取帮助信息