You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 lines
1.5 KiB

# join
## 说明
**join命令** 用来将两个文件中,制定栏位内容相同的行连接起来。找出两个文件中,指定栏位内容相同的行,并加以合并,再输出到
标准输出设备
## 选项
```markdown
-a FILENUM 除了显示原来的输出内容之外,还显示指令文件中没有相同栏位的行
-e EMPTY 若[文件1]与[文件2]中找不到指定的栏位,则在输出中填入选项中的字符串
-i, --ignore-case 比较栏位内容时,忽略大小写的差异
-j FIELD equivalent to '-1 FIELD -2 FIELD'
-o FORMAT 按照指定的格式来显示结果
-t CHAR 使用栏位的分割字符
-v 文件编号 类似 -a 文件编号,但禁止组合输出行
-1 域 在文件1 的此域组合
-2 域 在文件2 的此域组合
--check-order 检查输入行是否正确排序,即使所有输入行均是成对的
--nocheck-order 不检查输入是否正确排序
--header 将首行视作域的头部,直接输出而不对其进行匹配
-z, --zero-terminated 以0 字节而非新行作为行尾标志
```
## 实例
```bash
# 以下如果是英文文本的话export LANG=C可以提高速度
join -t'\0' -a1 -a2 file1 file2 # 两个有序文件的并集
join -t'\0' file1 file2 # 两个有序文件的交集
join -t'\0' -v2 file1 file2 # 两个有序文件的差集
join -t'\0' -v1 -v2 file1 file2 # 两个有序文件的对称差集
```