天天看點

linux使用join指令時切勿對檔案進行數值排序

From:http://www.xiaoxiaozi.com/2009/12/02/1659/

之前我介紹過linux的join指令和sort指令。

有一點沒有說明的是,使用join的時候要對兩個比較的檔案先排序的。

但是這個排序是要小心進行的,一般要使用sort不附加任何參數即可以,

因為join實際上是按字元串對兩個檔案進行“撞”的。

是以千萬不要使用例如-n -g這類參數對檔案進行排序。

a.txt b.txt的内容如下:

a.txt

1

b.txt

3

2

21

簡單的join

join a.txt b.txt

#join: 檔案2 沒有被正确排序

排序-n後join

sort -n b.txt > c.txt

join a.txt c.txt

#1

排序,不做數值排序後join

sort b.txt > c.txt

join -v1 c.txt a.txt

#2

#21

#3

繼續閱讀