sort - 对文本行排序

sort 用于对文本行进行排序,也可以检查文件是否已经有序、合并已排序文件或去除重复行。

常用参数

  • -b--ignore-leading-blanks:忽略行首空白。
  • -c--check:检查输入是否已排序。
  • -f--ignore-case:排序时忽略大小写。
  • -h--human-numeric-sort:按人类可读的大小排序,如 2K1M
  • -M--month-sort:按月份缩写排序。
  • -n--numeric-sort:按数值排序。
  • -r--reverse:反向排序。
  • -u--unique:每组相等行只输出一行。
  • -o FILE--output=FILE:将结果写入指定文件。
  • -t CHAR--field-separator=CHAR:指定字段分隔符。
  • -k KEYDEF--key=KEYDEF:指定排序键。

使用示例

# 按整行排序
sort filename
 
# 排序并去重
sort -u filename
 
# 按第二列进行数值排序
sort -k 2,2n filename
 
# 按冒号分隔的第三个字段进行数值排序
sort -t ':' -k 3,3n filename
 
# 反向排序
sort -r filename

需要保留全部重复行但保持排序稳定时,可以使用 --stable。只需要相邻重复行处理时,可参阅 uniq

参考资料