sort命令詳解

一、工做原理:

sort將文件的每一行做爲一個單位,相互比較,比較原則是從首字符向後,依次按ASCII碼值進行比較,最後將他們按升序輸出。app

[rocrocket@rocrocket programming]$ cat seq.txt
banana
apple
pear
orange
[rocrocket@rocrocket programming]$ sort seq.txt
apple
banana
orange
pear

二、sort -u

-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選項無情的刪除了。

三、sort -r

-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

四、sort -o

-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

五、sort -n

-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

六、sort -t -k 參數

-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

七、其餘的sort經常使用選項

  • -f會將小寫字母都轉換爲大寫字母來進行比較,亦即忽略大小寫
  • -c會檢查文件是否已排好序,若是亂序,則輸出第一個亂序的行的相關信息,最後返回1
  • -C會檢查文件是否已排好序,若是亂序,不輸出內容,僅返回1
  • -M會以月份來排序,好比JAN小於FEB等等
  • -b會忽略每一行前面的全部空白部分,從第一個可見字符開始比較。
相關文章
相關標籤/搜索