sort
以行为单位,对文本文件进行排,并输出排序结果。默认情况下,以每一行为一个单位,从首字符开始按照ASCII码向后逐个比较。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。
1
、语法
sort [
选项] file
sort [OPTION]... --files0-from=F
2
、选项列表
选项
|
说明
|
--help
|
显示帮助文档
|
--version
|
显示版本信息
|
-b
|
忽略每行开头的空白字符
|
-d | --dictionary-order
|
排序时只考虑空格、数字、英语字母
|
-f | --ignore-case
|
将小写字母改为大写
|
-g | --general-numeric-sort
|
按一般数值比较
|
-i | --ignore-nonprinting
|
只考虑040到176之间的ASCII字符
|
-M | --month-sort
|
按月份排序
|
-h | --human-numeric-sort
|
按可读性数据排序,例如1K,2G
|
-n | --numeric-sort
|
按数值大小排序
|
-R | --random-sort
|
按键的随机散列排序
|
--random-source=FILE
|
从文件中获取随机字节
|
-r | --reverse
|
逆序排列
|
--sort=WORD
|
按给出的要求排序:general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V
|
-V | --version-sort
|
按版本数字排序
|
--batch-size=NMERGE
|
最多一次合并NMERGE个输入;更多地使用temp文件
|
-c | --check | --check=diagnose-first
|
检测是否已排序,不排序
|
-C | --check=quiet | --check=silent
|
和“-c”一样,不要报告第一个坏行
|
--compress-program=PROG
|
用prog压缩时间,用prog-d解压
|
--files0-from=F
|
从文件F中以NUL结尾的名称指定的文件读取输入;如果F是-,则从标准输入中读取名称。
|
-k | --key=POS1[,POS2]
|
在POS 1(起始1)处启动键,在POS 2(默认行尾)结束键
|
-m | --merge
|
合并已经排序的文件,不排序
|
-o | --output=file
|
将结果输出到指定文件
|
-s | --stable
|
通过禁用最后的比较来稳定排序
|
-S | --buffer-size=SIZE
|
主内存缓冲器使用SIZE
|
-t | --field-separator=SEP
|
使用sep代替分隔符
|
-T | --temporary-directory=DIR
|
将DIR用于临时目录,而不是$TMPDIR或/tmp;多个选项指定多个目录
|
-u, --unique
|
和“-c”一起使用,检查是否有严格的排序;如果没有-c,则只输出相同运行的第一个。
|
-z, --zero-terminated
|
结束行为0字节,而不是换行符
|
3
、实例
1
)直接排序
[root@192 weijie]#
cat 1.c
1K
1M
1G
1T
[root@192 weijie]#
sort 1.c //
直接对比字符排序
1G
1K
1M
1T
|
2
)按照可读的单位来排序
[root@192 weijie]#
sort -h 1.c //
文件的内容按照单位排序,这些很明显是内存大小单位
1K
1M
1G
1T
|
3
)按照数字排序
[root@192 weijie]#
cat 2.c
123
23
212
[root@192 weijie]#
sort 2.c //
默认排序,按照字符逐个比较
123
212
23
[root@192 weijie]#
sort -n 2.c //
把内容当做数字排序
23
123
212
|