shell join 参数详细说明

join类似db里面的join方法,同样有left join right join inner join等

 

指定参数-a 可以指定join的方式。

-a1表示显示第一个文件中不匹配的行,即为left join
-a2表示显示第二个文件中不匹配的行,即为right join

-o 1.1 2.1 -o是输出参数,1.1表示输出第一个文件的第一列;2.1表示输出第二个文件的第一列

-t "|" 是分隔符参数, 表示指定|作为域分隔符

-j 1.1 2.1 -j是表示连接的字段参数, 这里表示第一个文件的第一列和第二个文件的第一列关联 

 

如下举几个例子:

cat employee.txt
100 Jason Smith
200 John Doe
300 Sanjay Gupta
400 Ashok Sharma

cat bonus.txt
200 $500
300 $3,000
400 $1,250

 

如下输出第一行没有最后收入一列

join -a1 employee.txt bonus.txt
100 Jason Smith
200 John Doe $500
300 Sanjay Gupta $3,000
400 Ashok Sharma $1,250

 

如下输出没有编号为100的行

join -a2 employee.txt bonus.txt
200 John Doe $500
300 Sanjay Gupta $3,000
400 Ashok Sharma $1,250

只输出名字与收入

join -o 1.2 2.2 employee.txt bonus.txt
John $500
Sanjay $3,000
Ashok $1,250

 

 

原文地址:https://www.cnblogs.com/zejin2008/p/4628761.html