sort 指令

# sort [-fbMnrtuk] [file or stdin]

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

example:
1. 先編輯一個 arr.txt 檔案, 裡面有包含數字欄位的資料
$ vim arr.txt
1034 7:26
1025 7:27
1101 7:32
1006 7:45
1012 7:46
1028 7:49
1051 7:51
1029 7:57
1042 7:59
1008 8:01
1052 8:05
1005 8:12

2. 將檔案的數字欄位做排序
$ sort -n arr.txt
1005 8:12
1006 7:45
1008 8:01
1012 7:46
1025 7:27
1028 7:49
1029 7:57
1034 7:26
1042 7:59
1051 7:51
1052 8:05
1101 7:32

3. 將檔案的數字欄位做反向排序
$ sort -nr arr.txt
1101 7:32
1052 8:05
1051 7:51
1042 7:59
1034 7:26
1029 7:57
1028 7:49
1025 7:27
1012 7:46
1008 8:01
1006 7:45
1005 8:12

4. 將結果 以第5個欄位, 用數字方式小至大排序
$ ls -al | sort -nk 5

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *