Linux: join
2023-05-23 本文已影响0人
LET149
join可以找出两个文件中指定列内容相同的行,并加以合并
基本语法
join [options] file1.name file2.name
options
- 当其中一个文件要从标准输出读入时(前面使用了管道操作),用 - 代替这个文
- 在进行操作之前,要对选定作为识别字段的内容进行sort
- 在进行操作时,两个文件中的列至少有一列是可以进行比较的,且这个用来比较的列中至少有一行是相同
- -a : 后面根1或2(文件被排列在的位置),表示这个文件每一行的内容即使没有匹配到第二行,也会被输出,当a1和a2同时存在时,表示不丢弃任何的行,没匹配上的行,会在匹配行输出结束后再输出
- -e : 后根字符,将匹配行中缺失的列输出为指定字符
- -t : 后跟字符,指定分隔符
- -1 : 后跟数字,代表字段(列),指将第一个文件此字段(列)的值作为合并的识别字段,此字段的内容应与文件二中被选作识别字段中的内容相对应
- -2 : 后跟数字,代表字段(列),指将第二个文件此字段(列)的值作为合并的识别字段,此字段的内容应与文件一中被选作识别字段中的内容相对应
- -v : 输出没有比对上的行
join -v 1 aa bb
,将 aa 和 bb 进行合并,但只输出aa中没有合并的栏;如果 -v 后面是2,则只输出aa中没有合并的栏