sort的作用与用法

NAME
sort – sort lines of text files

SYNOPSIS
sort [OPTION]… [FILE]…

DESCRIPTION
Write sorted concatenation of all FILE(s) to standard output.

sort的选项及含义

选项含义
-b–ignore-leading-blanks ignore leading blanks 忽略前导空格
-d–dictionary-order 字典排序,仅考虑空格、数字和字符
-f–ignore-case 忽略大小写,这里忽略的比较有意思,是将小写全转为大写后比较
-g–general-numeric-sort 按照数值来比较
-i–ignore-nonprinting 只考虑可打印的字符,忽略任何非显示字符
-M–month-sort 按照月份来比较,是英文的月份哦(compare (unknown) < `JAN' < ... < `DEC')
-n–numeric-sort 按字符串的数值来比较,可包含前导空格、可选减号、十进制数字、千分位分隔符和可选基数符
-r–reverse 按倒序排列
-c–check 检查待排序文件是否已经按照指定的排列顺序排好序了
-k–key=POS1[,POS2] 指定一个或几个字段作为排序关键字,字段位置从posl开始,到pos2为止(包括post1但是不包括post2),如不指定pos2,则关键字为从posl到行尾。字段和字符的位置从0开始。FREEBSD是从1开始
-m–merge 只是单纯的合并已经排好序的文件,不再对合并后的文件进行排序
-o–output=FILE 将输出结果保存到指定的文件中,而不是在标准输出(显示器)上显示结果
-s–stable stabilize sort by disabling last-resort comparison
-S–buffer-size=SIZE 设置主内存的大小缓冲区
-t–field-separator=SEP 使用指定的字符作为字段分隔符,默认为空格
-T–temporary-directory=DIR 将临时文档放入指定的临时文件夹,而不是默认的$TMPDIR 或/tmp;
-u–unique 对排序后相同的行只保留一行,即消重
-z–zero-terminated 自然结尾——0bytes,而不是使用一个新行

Demo

简单测试文件:demo.txt

1
3
4
6
9
8
7
2
5
10

为了不占用太多空间造成浪费,我将结果以一行的形式展现给大家,勿怪~

sort demo.txt
#1  10  2  3  4  5  6  7  8  9  

sort  -n demo.txt
#1  2  3  4  5  6  7  8  9  10

sort  -nr demo.txt
#10  9  8  7  6  5  4  3  2  1