(1)基本说明
Linux下最常用的数据文件格式是文本格式的,多个字段之间通过分隔符来区分,分隔符比如冒号(😃、制表符、空格等。/etc/passwd和/etc/group就是用:来分隔的,用MySQL的into outfile指令导出的数据通常是以制表符分隔的。这种文本格式既方便人去阅读,也适合程序处理,通常某列类似于数据库中的关键字。
**
join命令就是一个根据关键字合并数据文件的命令(join lines of two files on a common field),类似于数据库中两张表关联查询)
(2)常用参数
join命令根据公共字段(关键字)来合并两个文件的数据行。因此最简单的使用方式就是指定两个数据文件名,这两个文件的第一列就是公共字段,字段之间以空白分隔。
内连接(inner join)
格式:join <FILE1> <FILE2>
左连接(left join, 左外连接, left outer join)
格式:join -a1 <FILE1> <FILE2>
右连接(right join, 右外连接,right outer join)
格式:join -a2 <FILE1> <FILE2>
全连接(full join, 全外连接, full outer join)
格式:join -a1 -a2 <FILE1> <FILE2>
指定分隔符:
-t <CHAR> 比如:-t ':' 使用冒号作为分隔符。默认的分隔符是空白
指定输出字段:
-o <FILENO.FIELDNO> ...
指定输出不匹配的行