2012-07-16 96 views
0

當我使用'join'合併兩個排序文件時,結果是意外的。 這裏是例如:爲什麼shell'join'命令丟失了一些正確的結果

//文件a.bat

12 
123 
456 
13421 
123456 

//文件b.bat

12 
123 
5432 
123456 

執行命令:

$ join -1 1 -2 1 -o '1.1 2.1' a.dat b.dat 
12 12 
123 123 

其中123456是忽視!事實上,我確實嘗試了其他文件,其中一些文件也沒有得到完整的結果。爲什麼發生?

+0

我幾乎得到了答案,我使用'sort -n'進行排序,這是用於數字的。但加入命令只適用於字符串有序 – hjhnju 2012-07-16 11:49:11

回答

4

爲了使join正常工作,您的輸入需要進行詞法排序。您的輸入按數字排序,這是錯誤的。所有以1開頭的字符串都應該放在以2開頭的所有字符串之前等。

+0

是的,你是對的,謝謝!合併兩個文件時加入使用字符串比較 – hjhnju 2012-07-17 02:10:24

相關問題