sort - 对文本行排序
sort 用于对文本行进行排序,也可以检查文件是否已经有序、合并已排序文件或去除重复行。
常用参数
-b、--ignore-leading-blanks:忽略行首空白。-c、--check:检查输入是否已排序。-f、--ignore-case:排序时忽略大小写。-h、--human-numeric-sort:按人类可读的大小排序,如2K、1M。-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。