Linux之使用awk对apache nginx日志IP统计、排序操作

  • A+
所属分类:AWK使用笔记  Linux  随手小记
摘要

强迫症犯了,非要用一条awk来查询apache或者nginx的IP统计且显示前十的IP和访问次数。

awk '{a[$1]++}END{for(i in a)print i,a[i]}' www.dwhd.org_nginx.log

上面的命令可以对IP进行统计,但是结果我们无法方便、直观的去观察分析

awk '{a[$1]++}END{for(i in a)print i,a[i]}' www.dwhd.org_nginx.log | sort -t' ' -k2 -rn

上面的命令终于可以排序了,但是还是某些时候还是不方便我们去分析,例如访问量超级大,来路IP就可定多了,而且我个人有点强迫症,不喜欢在awk后面跟其他命令使用

awk '{a[b[$1]++]}END{for(i=length(a);i>0;i--)for(j in b)if(b[j]==i){c++;if(c<=10)print j,i}}' www.dwhd.org_nginx.log

上面的命令才是王道,统计日志文件的ip访问次数,打印出访问最多的ip前10名,且输出ip对应的访问次数

Linux之使用awk对apache nginx日志IP统计、排序操作

是不是awk装逼些?????

lookback

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:3   其中:访客  3   博主  0

    • avatar Sawyer 0

      等下去试试

      • avatar yu 0

        果然awk太特么能装逼了

          • avatar lookback 4

            @yu 这是必须的啊