Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
UNIX加入命令帮助?_Unix_Sorting_Join - Fatal编程技术网

UNIX加入命令帮助?

UNIX加入命令帮助?,unix,sorting,join,Unix,Sorting,Join,我有两个已排序的文件,我想根据第一个字段合并它们: 文件1: 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 文件2: sa01^

我有两个已排序的文件,我想根据第一个字段合并它们:

文件1:

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
文件2:

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

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

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

sort -t'^' -k1,1

这会使它正确排序,因为^s是分隔符=)!我希望这能帮助别人

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

sort -t'^' -k1,1

这会使它正确排序,因为^s是分隔符=)!我希望这能帮助别人

当我使用你的2个文件时,该命令对我很有效。当我使用你的2个文件时,该命令对我很有效。