Sort如何进行排序,如何根据出现次数取IP
2018-02-27 18:45
435 查看
常用组合:sort+uniq+head+awk
作用分析
AWK对于取列非常的合适,支持正则
uniq对于AWK刚取出的列值进行计算出现次数并去重
sort对于uniq出的出现次数进行升降排序,这样就按照出现次数频率高低进行排序了
head可以取前n行进行显示
处理示例:去除下列IP中出现频率最高的3个IP
真正排序难点在于AWK的取值,如何把IP全部规范的取出
关于Sort的选项可以参考 http://www.cnblogs.com/ningvsban/p/3724306.html
作用分析
AWK对于取列非常的合适,支持正则
uniq对于AWK刚取出的列值进行计算出现次数并去重
sort对于uniq出的出现次数进行升降排序,这样就按照出现次数频率高低进行排序了
head可以取前n行进行显示
处理示例:去除下列IP中出现频率最高的3个IP
[root@localhost ~]# cat 123 192.168.1.1 192.168.1.2 192.168.1.3 192.168.1.4 192.168.1.5 192.168.1.5 192.168.1.5 192.168.1.10 192.168.1.20 192.168.1.30 192.168.1.40 192.168.1.50 192.168.1.60 192.168.1.70 192.168.1.1 192.168.1.3 192.168.1.4 192.168.1.1 192.168.1.2第一次处理:
[root@localhost ~]# sort 123 ##第一次处理后,相同的数值出现在了一起 192.168.1.1 192.168.1.1 192.168.1.1 192.168.1.10 192.168.1.2 192.168.1.2 192.168.1.20 192.168.1.3 192.168.1.3 192.168.1.30 192.168.1.4 192.168.1.4 192.168.1.40 192.168.1.5 192.168.1.5 192.168.1.5 192.168.1.50 192.168.1.60 192.168.1.70第二次处理:
[root@localhost ~]# sort 123|uniq -c ##第二次处理出现了出现次数的记录 3 192.168.1.1 1 192.168.1.10 2 192.168.1.2 1 192.168.1.20 2 192.168.1.3 1 192.168.1.30 2 192.168.1.4 1 192.168.1.40 3 192.168.1.5 1 192.168.1.50 1 192.168.1.60 1 192.168.1.70第三次处理:
[root@localhost ~]# sort 123|uniq -c|sort -r ##第三次处理,对出现次数降序排序 3 192.168.1.5 3 192.168.1.1 2 192.168.1.4 2 192.168.1.3 2 192.168.1.2 1 192.168.1.70 1 192.168.1.60 1 192.168.1.50 1 192.168.1.40 1 192.168.1.30 1 192.168.1.20 1 192.168.1.10第四次处理:
[root@localhost ~]# sort 123|uniq -c|sort -r|head -n 3 ##取出前三个 3 192.168.1.5 3 192.168.1.1 2 192.168.1.4
真正排序难点在于AWK的取值,如何把IP全部规范的取出
关于Sort的选项可以参考 http://www.cnblogs.com/ningvsban/p/3724306.html
相关文章推荐
- 按照查询结果中某列出现的次数进行排序的SQL语句
- js sort方法根据数组中对象的某一个属性值进行排序
- 如何在排序数组中,找出给定数字出现的次数
- 输入一个数组,对数组进行排序,并输出该数组中重复元素出现的次数
- 【慕课网】如何根据字典中值的大小,对字典进行排序
- (使用STL自带的排序函数进行排序7.3.6)POJ 2945 Find the Clones拷贝相同次数的文本出现了多少次()
- 统计一篇英文文件中,单词出现的次数,并按单词的长度进行排序
- linux命令 对日志文件的IP出现的次数进行统计 并显示次数最多的前六名
- 使用shell统计字符串出现的次数,并从大到小进行排序显示
- linux命令 对日志文件的IP出现的次数进行统计 并显示次数最多的前六名
- 如何根据对象的属性,对集合(list / set)中的对象进行排序
- 如何按字段中的某字符串出现次数排序
- js sort方法根据数组中对象的某一个属性值进行排序
- java中的comparable接口如何根据学生的学号,成绩等多种情况进行定义,然后排序
- 赫夫曼树(一),对字符串中的字符出现频率进行设置权,并且根据权大小进行排序
- 实体类集合(List<Object>)根据实体类的一个或者多个属性对集合进行排序-Collections.sort
- 如何根据对象的属性,对集合(list / set)中的对象进行排序
- 如何在排序数组中,找出给定数字出现的次数
- 对字符串中字符出现的次数进行排序
- js:数组重排序问题:如何使用sort()方法按数值的大小进行升序或降序排列