Sort如何进行排序,如何根据出现次数取IP
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sort如何进行排序,如何根据出现次数取IP相关的知识,希望对你有一定的参考价值。
常用组合:sort+uniq+head+awk作用分析
AWK对于取列非常的合适,支持正则
uniq对于AWK刚取出的列值进行计算出现次数并去重
sort对于uniq出的出现次数进行升降排序,这样就按照出现次数频率高低进行排序了
head可以取前n行进行显示
处理示例:去除下列IP中出现频率最高的3个IP
[[email protected] ~]# 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
第一次处理:
[[email protected] ~]# 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
第二次处理:
[[email protected] ~]# 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
第三次处理:
[[email protected] ~]# 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
第四次处理:
[[email protected] ~]# 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
以上是关于Sort如何进行排序,如何根据出现次数取IP的主要内容,如果未能解决你的问题,请参考以下文章