Linux sort 命令将文件进行排序,并将排序结果标准输出。它既可以从特定的文件,也可以从 stdin 中获取输入。sort 玲玲将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按 ASCII 码值进行比较,最后将他们按升序输出,当然了,具体比较的原则、列数、升降序方式都可以通过参数指定。
命令格式
sort [OPTION]... [FILE]...
另一种形式:
sort [OPTION]... --files0-from=F
命令选项
- -k, --key=KEYDEF
- 指定要排序的栏位(列数,索引从1开始),和分隔符 -t 一起使用。
- -n, --numeric-sort
- 根据数值大小进行排序,需要指定的排序数据是数字。
- -r, --reverse
- 倒序排列,默认是升序的。
- -t, --field-separator=SEP
- 每行指定一个非空的分隔符。
命令参数
[FILE]:指定待排序的文件列表。
示例
根据指定分隔符分隔后,以第二栏位(列)的数值降序排列。
[demo@knowledgedict ~]$ cat demo.txt
a:4:c
b:2:k
g:6:p
[demo@knowledgedict ~]$ sort -t ':' -k 2 -n demo.txt
b:2:k
a:4:c
g:6:p