1. 程式人生 > >【linux】--- 高階命令列文字處理工具 sort

【linux】--- 高階命令列文字處理工具 sort

二、sort命令

 sort 命令對 File 引數指定的檔案中的行排序,並將結果寫到標準輸出。如果 File 引數指定多個檔案,那麼 sort 命令將這些檔案連線起來,並當作一個檔案進行排序。

選項與引數:

-f  :忽略大小寫的差異,例如 A 與 a 視為編碼相同;
-b  :忽略最前面的空格符部分;
-M  :以月份的名字來排序,例如 JAN, DEC 等等的排序方法;
-n  :使用『純數字』進行排序(預設是以文字型態來排序的);
-r  :反向排序;
-u  :就是 uniq ,相同的資料中,僅出現一行代表;
-t  :分隔符,預設是用 [tab] 鍵來分隔; 
-k  :以那個區間 (field) 來進行排序的意思
 

cat /etc/passwd | sort 

/etc/passwd 內容是以 : 來分隔的,我想以第二欄來排序

cat /etc/passwd |sort -t ' ' -k 2 


 sort -r  反向排序

cat /etc/passwd |sort -t ':' -k 3 -n

cat /etc/passwd | sort -t ':' -k 3.1,3.2

cat /etc/passwd | sort -t ':' -k 3.1,3.2 -k 1r

如果要對/etc/passwd,先以第三個域的第1個字元到第2個字元進行正向排序,再基於第一個域進行反向排序。

sort -u 

或者 sort | uniq

sort | uniq -c 可以統計次數