加入命令不起作用

时间:2014-01-16 18:35:05

标签: bash join

我遇到了这个问题:

FILE1:        FILE2
1000          1000
1001          1003
1002          1007
1003          1009
1004          1010
1005
1006
1007
1008
1009
1010

我希望得到这样的结果:

OUTPUT:
1000          1000
1001         
1002 
1003          1003
1004         
1005
1006
1007          1007
1008
1009          1009
1010          1010

我想要使用加入,但它什么也没做。

你有什么想法吗?

非常感谢!

2 个答案:

答案 0 :(得分:3)

从file1(-a 1)左连接并输出每个文件的第一个字段(-o 1.1,2.1):

$ join -a 1 -o 1.1,2.1  file1 file2
1000 1000
1001 
1002 
1003 1003
1004 
1005 
1006 
1007 1007
1008 
1009 1009
1010 1010

答案 1 :(得分:1)

检查一下,如果它符合你的要求:

kent$  awk 'NR==FNR{a[$0]=1;next}$0=$0 (a[$0]?" "$0:"")' f2 f1 
1000 1000
1001
1002
1003 1003
1004
1005
1006
1007 1007
1008
1009 1009
1010 1010