UNIX加入命令帮助?

时间:2012-06-27 18:40:10

标签: unix sorting join

我想根据第一个字段加入两个已排序的文件:

FILE1:

sa01^DS0^Pri^PE^Prod^EC
sa02^D0^App^PE^Prod^EC
sa03^D0^App^PE^Prod^EC
sa04^D0^App^PE^Prod^EC
sa05^D0^App^PE^Prod^EC
sa06^D0^App^PE^Prod^EC
sa07^D0^App^PE^Prod^EC
sa^AS1^ABAP^PE^Prod^EC
sar^ERS^Enq^PE^Prod^EC

FILE2:

sa01^uz006p
sa02^ua009p
sa03^ua005p
sa04^uz002p
sa05^uz001p
sa06^uz011p
sa07^uz012p
sa^uz016p
sar^uz019p

我的加入命令:

join -a1 -a2 -t'^' -1 1 -2 1 $FILE1 $FILE2

给我这个:

sa01^DS0^Pri^PE^Prod^EC^uz006p
sa02^D0^App^PE^Prod^EC^uz009p
sa03^D0^App^PE^Prod^EC^uz005p
sa04^D0^App^PE^Prod^EC^uz002p
sa05^D0^App^PE^Prod^EC^uz001p
sa06^D0^App^PE^Prod^EC^uz011p
sa07^D0^App^PE^Prod^EC^uz012p
sa^uz016p
sar^ERS^Enq^PE^Prod^EC^uz019p

为什么=(?我对两个文件进行了排序。

1 个答案:

答案 0 :(得分:1)

应该使用以下文件对文件进行排序:

sort -t'^' -k1,1

这使得它正确排序因为^是delimiter =)!我希望这可以帮助别人!!!