Linux之11——常用统计命令之sort
sort是在Linux里非常常用的一个统计命令
1 sort的工作原理
sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
其语法及常用参数格式:
sort [-bcfMnrtk][源文件][-o 输出文件]
补充说明:sort可针对文本文件的内容,以行为单位来排序。
参 数:
-b 忽略每行前面开始出的空格字符。
-c 检查文件是否已经按照顺序排序。
-f 排序时,忽略大小写字母。
-M 将前面
3
个字母依照月份的缩写进行排序。
-n 依照数值的大小排序。
-h 使用易读性数字(例如:2K、1G)排序
-o <输出文件> 将排序后的结果存入指定的文件。
-r 以相反的顺序来排序。
-t <分隔字符> 指定排序时所用的栏位分隔字符。
-k 选择以哪个区间进行排序。
-v 按照版本排序
-u 排序后删除重复行,等价于sort test1 | uniq
sort -h

$ cat sort_h 60MB 10 1000KB 20MB 300KB 5 A 40GB 50KB $ cat sort_h|sort -h A 5 10 50KB 300KB 1000KB 20MB 60MB 40GB
sort -n

$ cat sort_n 01 00 0 70 78 67 23 30 09 44002 32010 32102 5743 3306 $ sort -n sort_n 0 00 01 09 23 30 67 70 78 3306 5743 32010 32102 44002
sort -t . -k 2 sort_t

$ cat sort_t 1.2.3.4 2.1.2.3 3.3.4.2 8.7.6.4 6.4.9.71SP2SP3SP4
2SP1SP2SP3
3SP3SP4SP2
8SP7SP6SP4
6SP4SP9SP7
$ sort -t . -k 2 sort_t1SP2SP3SP4
2SP1SP2SP3
3SP3SP4SP2
6SP4SP9SP7
8SP7SP6SP4
2.1.2.3
1.2.3.4
3.3.4.2
6.4.9.7
8.7.6.4
一个例子:
$ last|grep -P '(\d{1,3}\.){3}\d{1,3}'|awk '{S[$3]++} END{for(a in S) {print a,S[a]}}'|sort -k 2 -rn 113.128.81.23 43 113.118.184.151 22 120.244.191.5 21 112.10.50.241 20 120.244.232.56 17 124.74.76.126 16 58.101.55.255 15 115.236.175.131 15 113.65.210.234 15 223.71.133.42 14 119.253.43.100 14 111.199.189.52 14 101.132.159.87 14 221.219.101.182 13 183.6.105.176 13 115.199.241.187 12 113.87.130.220 11 111.23.244.189 11 220.249.15.134 10 119.131.106.244 10 118.242.17.132 10 61.149.222.113 9 111.163.143.202 9 103.27.26.3 9 59.41.64.86 8 49.66.146.59 8
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏