join命令
join命令用来将两个文件中,制定栏位内容相同的行连接起来。找出两个文件中,指定栏位内容相同的行,并加以合并,再输出到标准输出设备。
语法
join(选项)(参数)
选项
-a<1或2>:除了显示原来的输出内容之外,还显示指令文件中没有相同栏位的行; -e<字符串>:若[文件1]与[文件2]中找不到指定的栏位,则在输出中填入选项中的字符串; -i或--ignore-case:比较栏位内容时,忽略大小写的差异; -o<格式>:按照指定的格式来显示结果; -t<字符>:使用栏位的分割字符; -v<1或2>:更-a相同,但是只显示文件中没有相同栏位的行; -1<栏位>:连接[文件1]指定的栏位; -2<栏位>:连接[文件2]指定的栏位。
参数
- 文件1:要进行合并操作的第1个文件参数;
- 文件2:要进行合并操作的第2个文件参数。
实例
1. 按第一个字段连接两个文件
$ join file1.txt file2.txt
2. 指定连接字段
$ join -1 2 -2 3 file1.txt file2.txt # file1的第2个字段与file2的第3个字段连接
3. 输出未匹配的行
$ join -a 1 file1.txt file2.txt
4. 使用逗号作为分隔符
$ join -t ',' file1.csv file2.csv