sort將文件的每一行做爲一個單位,相互比較,比較原則是從首字符向後,依次按ASCII碼值進行比較,最後將他們按升序輸出。app
[rocrocket@rocrocket programming]$ cat seq.txt banana apple pear orange [rocrocket@rocrocket programming]$ sort seq.txt apple banana orange pear
-u : unique 惟一,排序而且排除重複項code
[rocrocket@rocrocket programming]$ cat seq.txt banana apple pear orange pear [rocrocket@rocrocket programming]$ sort seq.txt apple banana orange pear pear [rocrocket@rocrocket programming]$ sort -u seq.txt apple banana orange pear pear因爲重複被-u選項無情的刪除了。
-r : reverse 反向排序排序
[rocrocket@rocrocket programming]$ cat number.txt 1 3 5 2 4 [rocrocket@rocrocket programming]$ sort number.txt 1 2 3 4 5 [rocrocket@rocrocket programming]$ sort -r number.txt 5 4 3 2 1
-o : output 將排序結果輸出到源文件
sort默認將結果輸出到標準輸出,因此須要重定向才能夠將結果寫入文件,形如 sort filename > newfile
可是若是你想把排序結果輸出到原文件中,用重定向不可行字符串
[rocrocket@rocrocket programming]$ sort -r number.txt > number.txt [rocrocket@rocrocket programming]$ cat number.txt [rocrocket@rocrocket programming]$
使用 -o 參數能夠正常輸出到源文件table
[rocrocket@rocrocket programming]$ cat number.txt 1 3 5 2 4 [rocrocket@rocrocket programming]$ sort -r number.txt -o number.txt [rocrocket@rocrocket programming]$ cat number.txt 5 4 3 2 1
-n : number 安裝數字進行排序,默認數字會被看成字符串進行比較,會出現一下狀況原理
[rocrocket@rocrocket programming]$ cat number.txt 1 10 19 11 2 5 [rocrocket@rocrocket programming]$ sort number.txt 1 10 11 19 2 5
使用 -n 參數之後file
[rocrocket@rocrocket programming]$ sort -n number.txt 1 2 5 10 11 19
-t : tables 指定分隔符,默認tab爲分隔符
-k: 指定安裝哪個分割區域進行排序facebook
[rocrocket@rocrocket programming]$ cat facebook.txt banana:30:5.5 apple:10:2.5 pear:90:2.3 orange:20:3.4 [rocrocket@rocrocket programming]$ sort -n -k 2 -t : facebook.txt # -n 按照數字進行排序 # -t 此例中指定 : 爲分隔符 # -k 此例中按照分割的第二區域進行排序 apple:10:2.5 orange:20:3.4 banana:30:5.5 pear:90:2.3