sort 指令 – 將欄位資料排序

sort 指令是在 Linux 下的排序指令, 可以將資料以不同欄位以數值及字母排序。sort 預設會用以下條件排序:

— 數字會排在字母前面;
— 小寫字母會排在大寫字母前面;

以一個簡單的例子說明使用方法, 例如用 “ls -l” 列出檔案清單, ls 預設是用檔案名稱排序, 想要用檔案大小排序, 可以這樣:

$ ls -l | sort -n -k 5

上面的 “5” 代表是第 5 個欄位的意思, 因為 “ls -l” 指令的輸出, 第 5 欄是檔案大小。


上面的例子會將資料由小至大排序, 如果想從大至小排序, 可以加入 “-r” 參數:

$ ls -l | sort -n -r -k 5

另一個例子是用在 df 上, 將檔案系統按使用量排序:

$ df | sort -n -k 5

參數說明:

-n 按數值大小排序.
-r 倒轉排序, 即從大至小排序.
-t 指定欄位分隔的字符, 預設是 Tab.
-k 要排序的欄位.


Leave a Reply