利用sort对多字段排序
来源:互联网 发布:linux递归创建目录 编辑:程序博客网 时间:2024/06/06 13:18
线上直播环境中需要从nginx访问日志中分析每个client在一个小时内的访问情况,需要使用sort对多重字段进行排序。
sort基础知识回顾
下面是需要用到的sort的知识点:
sort语法
[root@www ~]# sort [-fbMnrtuk] [file or stdin]
选项与参数:
-f :忽略大小写的差异,例如 A 与 a 视为编码相同;
-b :忽略最前面的空格符部分;
-M :以月份的名字来排序,例如 JAN, DEC 等等的排序方法;
-n :使用『纯数字』进行排序(默认是以文字型态来排序的);
-r :反向排序;
-u :就是 uniq ,相同的数据中,仅出现一行代表;
-t :分隔符,默认是用 [tab] 键来分隔;
-k :以那个区间 (field) 来进行排序的意思(其中,用来指明选定域的结束位置,默认到行尾)
其中我们需要知道-k这个选项。
我们先看一个简单的例子:
对使用冒号分隔的第三项(到末尾)进行排序(department_id),并去掉重复项
$ sort -t: -u -k 3 names.txt
Emma Thomas:100:Marketing
Madison Randy:300:Product Development
Alex Jason:200:Sales
Sanjay Gupta:400:Support
如果要对/etc/passwd,先以第六个域的第2个字符到第4个字符进行正向排序,再基于第一个域进行反向排序。
cat /etc/passwd | sort -t':' -k 6.2,6.4 -k 1r
sync:x:4:65534:sync:/bin:/bin/sync
proxy:x:13:13:proxy:/bin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
下面对指定字段的多重排序问题再做强调:
业务日志分析
通过上面的多重排序输出,我们可以很清楚地分析某个client ip在一小时内所有请求的响应时间,如果都比较长,说明该client所在的网络环境不太好。
- 利用sort对多字段排序
- linux sort 多字段排序
- unix sort 多字段排序简单用法
- C#List Sort多字段排序
- 对XML实现自定义、多字段排序
- 对XML实现自定义、多字段排序
- 对XML实现自定义、多字段排序
- 对java.util.List多字段排序
- 对list进行多字段排序
- SQL多字段排序
- 多字段排序
- sql多字段排序
- 多字段查询排序
- thinkphp 多字段排序
- oracle多字段排序
- 多字段排序处理
- Mysql多字段排序
- java 多字段排序
- Android 播放视频 VideoView 《第一行代码》学习笔记
- php缓存-内存式-mamcache-封装
- 【2016-沈阳赛区网络赛-I】区间DP(QSC and Master,hdu 5900)
- UVa 12169 Disgruntled Judge
- Eclipse中JSP文件中文乱码解决
- 利用sort对多字段排序
- RocketMQ原理解读 NameServer篇(broker节点治理)
- JaveWeb iReport 制做报表详细图文使用教程
- 49. Group Anagrams
- Java基础--字符串
- 可靠性配置与管理——VRRP配置与管理2
- POJ 3061 Subsequence(尺取法)
- php缓存-内存式-mamcache-安装
- 随机变量的分布与分位数概念