sort

基本语法(Synopsis)

sort [OPTION]... [FILE ...]

[] 表示可选项,... 表示可重复;大写名称表示需要替换的参数。

基本功能与推荐用法

sort 对文本行排序,可按数字、字段、版本号或可读大小比较。

sort names.txt
sort -n numbers.txt                   # 数值排序
sort -h sizes.txt                     # 1K、2M 等可读大小
sort -r file.txt                      # 逆序
sort -u file.txt                      # 排序并去重
sort -t, -k2,2n data.csv              # 按第 2 列数值
sort -V versions.txt                  # 版本号排序
LC_ALL=C sort file.txt                # 稳定的字节序排序

推荐:

  • 结果受 locale 影响;脚本需要稳定结果时设置 LC_ALL=C。
  • 字段排序明确指定分隔符和键范围,例如 -k2,2。
  • 大文件可用 -S 控制内存,并用 -T 指定临时目录。

示例中的选项、参数与子命令

本表解释本页示例实际出现的选项、参数、子命令及必要的辅助命令语法。

语法元素含义
-n按数值排序。
-h识别 K、M、G 等可读数值后缀。
-r反向排序。
-u去除排序后相同的行。
-t CHAR指定字段分隔符。
-k KEYDEF按指定字段或字段范围排序。
KEYDEF 中的 n对该键使用数值比较。
-V按自然版本号排序。
LC_ALL=C使用稳定的字节序排序,避免区域设置差异。

官方资料