sort#
sort 是包含在 GNU Coreutils 內的文字排序工具。
sort 是 Linux 系統中用於將文字檔案內容依據特定順序(字典順序、數值大小等)重新排列的指令。它可以讀取檔案或標準輸入,並將排序後的結果輸出。在處理大量數據清單、日誌分析或與 uniq 指令搭配使用時非常強大。
Install#
$ sudo apt install coreutilsSetting in up#
Operate#
sort [options] [file]
| 參數 | 範例指令 | 說明 |
|---|---|---|
-n | sort -n file | 數值排序。依照數字大小而非字母順序排列。 |
-r | sort -r file | 逆向排序。將結果由大到小或以相反順序排列。 |
-u | sort -u file | 唯一值。排序並刪除重複的行(效果類似 sort + uniq)。 |
-k | sort -k 2 file | 指定欄位。依據指定的欄位進行排序。 |
-t | sort -t ',' file | 分隔符號。指定欄位分隔字元(預設為空白)。 |
-o | sort -o out.txt in.txt | 輸出至檔案。將排序結果寫入檔案,可直接寫回原檔。 |
-M | sort -M file | 月份排序。依據月份縮寫(JAN, FEB…)進行排序。 |
-f | sort -f file | 忽略大小寫。將大小寫視為相同。 |
| 格式 | 說明 | 範例 |
|---|---|---|
sort | 基礎排序 | sort list.txt |
sort -rn | 數值逆向排序 | du -sh * | sort -rn (由大到小排列檔案大小) |
sort -t: -k3n | 指定欄位數值排序 | sort -t: -k3n /etc/passwd |
sort -u | 排序並去重 | sort -u email_list.txt |
Reference#
Official docs: