Linux sort 命令详解
用法:sort [选项]… [文件]…
或:sort [选项]… –files0-from=F
串联排序所有指定文件并将结果写到标准输出。
长选项必须使用的参数对于短选项时也是必需使用的。
排序选项:
-b, –ignore-leading-blanks 忽略前导的空白区域
-d, –dictionary-order 只考虑空白区域和字母字符
-f, –ignore-case 忽略字母大小写
-g, –general-numeric-sort 按照常规数值排序
-i, –ignore-nonprinting 只排序可打印字符
-M, –month-sort 比较 (未知) < “一月” < … < “十二月”在LC_ALL=C 时为(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 参数解压缩文件
–files0-from=文件 从指定文件读取以NUL 终止的名称,如果该文件被指定为”-“则从标准输入读文件名
-k, –key=位置1[,位置2] 在位置1 开始一个key,在位置2 终止(默认为行尾)
-m, –merge 合并已排序的文件,不再进行排序
*** 警告 ***
本地环境变量会影响排序结果。
如果希望以字节的自然值获得最传统的排序结果,请设置LC_ALL=C。
举例:本人最常用到的选项
awk -F\| ‘{print $18}’ DNS_143_2018042413* | ~/count.sh | sort -rk3 | head -5
备注: sort -rk3 等价于 sort -r -k3 等价于 sort -r -k 3 。
0.17% 115 9
0.88% 602 8
0.16% 110 7
0.78% 532 6
0.58% 397 5