在Linux中,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内容 Hello 11 World 22 Example 33 # file2内容 Hello 001 World 002 Example 003 # file3内容 1 星期一 2 星期二 3 星期三 4 星期四 5 星期五 6 星期六 7 星期日 8 星期八 # file4内容 1 Monday 2 Tuesday 3 Wednesday 4 Thursday 5 Friday 6 Saturday 7 Sunday 9 Crazy
通过join命令连接文件:
join file1 file2 | tee # 连接后显示的内容 Hello 11 001 World 22 002 Example 33 003 join file2 file1 | tee # 连接后显示的内容 Hello 001 11 World 002 22 Example 003 33 join -a2 file3 file4 | tee # 连接后显示的内容 1 星期一 Monday 2 星期二 Tuesday 3 星期三 Wednesday 4 星期四 Thursday 5 星期五 Friday 6 星期六 Saturday 7 星期日 Sunday 9 Crazy join -a1 -a2 file3 file4 | tee # 连接后显示的内容 1 星期一 Monday 2 星期二 Tuesday 3 星期三 Wednesday 4 星期四 Thursday 5 星期五 Friday 6 星期六 Saturday 7 星期日 Sunday 8 星期八 9 Crazy
原创文章禁止转载:技术学堂 » Linux文本比较命令join详解