1.释义
对文本文件的内容以行为单位来排序
2.系统帮助
用法:sort [选项]... [文件]...
或:sort [选项]... --files0-from=F
Write sorted concatenation of all FILE(s) to standard output.
Mandatory arguments to long options are mandatory for short options too.
排序选项:
-b, --ignore-leading-blanks忽略前导的空白区域
-d, --dictionary-order只考虑空白区域和字母字符
-f, --ignore-case忽略字母大小写
-g, --general-numeric-sort compare according to general numerical value
-i, --ignore-nonprinting consider only printable characters
-M, --month-sort compare (unknown) < 'JAN' < ... < 'DEC'
-h, --human-numeric-sort 使用易读性数字(例如: 2K 1G)
-n, --numeric-sort根据字符串数值比较,如果不加此选项默认将是字符串,
没有大小值
-R, --random-sort根据随机hash 排序
--random-source=文件从指定文件中获得随机字节
-r, --reverse逆序输出排序结果
--sort=WORD按照WORD 指定的格式排序:
一般数字-g,高可读性-h,月份-M,数字-n,
随机-R,版本-V
-V, --version-sort在文本内进行自然版本排序
其他选项:
--batch-size=NMERGE一次最多合并NMERGE 个输入;如果输入更多
则使用临时文件
-c, --check, --check=diagnose-first检查输入是否已排序,若已有序则不进行操作
-C, --check=quiet, --check=silent类似-c,但不报告第一个无序行
--compress-program=程序使用指定程序压缩临时文件;使用该程序
的-d 参数解压缩文件
--debug为用于排序的行添加注释,并将有可能有问题的
用法输出到标准错误输出
--files0-from=文件从指定文件读取以NUL 终止的名称,如果该文件被
指定为"-"则从标准输入读文件名
-k, --key=KEYDEF 使用了-t参数之后,指定使用第几列排序或指定第几列
的几个字符排序,一般加-n参数
-m, --merge merge already sorted files; do not sort
-o, --output=文件将结果写入到文件而非标准输出
-s, --stable禁用last-resort 比较以稳定比较算法
-S, --buffer-size=大小指定主内存缓存大小
-t, --field-separator=分隔符使用指定的分隔符来分隔,默认使用空格分割
-T, --temporary-directory=目录使用指定目录而非$TMPDIR 或/tmp 作为
临时目录,可用多个选项指定多个目录
--parallel=N将同时运行的排序数改变为N
-u, --unique配合-c,严格校验排序;不配合-c,则只输出一次排序结果
-z, --zero-terminated以0 字节而非新行作为行尾标志
--help显示此帮助信息并退出
--version显示版本信息并退出
KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is a
field number and C a character position in the field; both are origin 1, and
the stop position defaults to the line's end. If neither -t nor -b is in
effect, characters in a field are counted from the beginning of the preceding
whitespace. OPTS is one or more single-letter ordering options [bdfgiMhnRrV],
which override global ordering options for that key. If no key is given, use
the entire line as the key.
SIZE may be followed by the following multiplicative suffixes:
内存使用率% 1%,b 1、K 1024 (默认),M、G、T、P、E、Z、Y 等依此类推。
如果不指定文件,或者文件为"-",则从标准输入读取数据。
*** 警告 ***
本地环境变量会影响排序结果。
如果希望以字节的自然值获得最传统的排序结果,请设置LC_ALL=C。
GNU coreutils online help:
请向 报告sort 的翻译错误
要获取完整文档,请运行:info coreutils 'sort invocation'
3.示例
3.1.按默认排序
[root@itbkz.com tmp]#cat test.txt
3:b
2:c
14:a
5:e
1:d
11:f
[root@itbkz.com tmp]#sort test.txt
11:f
14:a
1:d
2:c
3:b
5:e
3.2.数字从小到大排序
[root@itbkz.com tmp]#cat test.txt
3:b
2:c
14:a
5:e
1:d
11:f
[root@itbkz.com tmp]#sort -n test.txt
1:d
2:c
3:b
5:e
11:f
14:a
3.3.数字从大到小排序
[root@itbkz.com tmp]#cat test.txt
3:b
2:c
14:a
5:e
1:d
11:f
[root@itbkz.com tmp]#sort -r -n test.txt
14:a
11:f
5:e
3:b
2:c
1:d
3.4.按字母正序
[root@itbkz.com tmp]#cat test.txt
3:b
2:c
14:a
5:e
1:d
11:f
[root@itbkz.com tmp]#sort -t ":" -k2 test.txt
14:a
3:b
2:c
1:d
5:e
11:f
3.5.按字母倒序
[root@itbkz.com tmp]#cat test.txt
3:b
2:c
14:a
5:e
1:d
11:f
[root@itbkz.com tmp]#sort -t ":" -k2 -r test.txt
11:f
5:e
1:d
2:c
3:b
14:a
3.6.多列分割排序
[root@itbkz.com tmp]#cat ip.txt
192.168.2.1 78-44-fd-e9-79-85
192.168.2.10 01-00-5e-00-00-ff
192.168.2.100 78-44-fd-e9-79-83
192.168.100.100 78-44-fd-e9-79-88
192.168.2.222 78-44-fd-e9-79-8
192.168.2.22 01-00-5e-00-01-fb
192.168.2.2 01-00-5e-00-02-fb
192.168.33.33 01-00-5e-00-00-fb
192.168.33.100 01-00-5e-00-00-fb
[root@itbkz.com tmp]#sort -t "." -n -k3.1,3.3 -k4.1,4.3 ip.txt
192.168.2.1 78-44-fd-e9-79-85
192.168.2.10 01-00-5e-00-00-ff
192.168.2.100 78-44-fd-e9-79-83
192.168.2.2 01-00-5e-00-02-fb
192.168.2.22 01-00-5e-00-01-fb
192.168.2.222 78-44-fd-e9-79-8
192.168.33.33 01-00-5e-00-00-fb
192.168.33.100 01-00-5e-00-00-fb
192.168.100.100 78-44-fd-e9-79-88
-k3.1,3.3:代表第三列的第一个字符到第三个字符
-k4.1,4.3:代表第四列的第一个字符到第三个字符
IT博客站版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:sort命令对文本文件的内容以行为单位来排序