• 挑出IIS日志里某一文件的请求次数


    要统计广告的弹出次数,找不到这种IIS日志分析器,只好写了个脚本。

    =pod
       说明
       把iis日志传到LINUX,再挑出日志里出现关键字的行,如cat ex*.log |grep divMove.js>>iis.log
       再生成excel文件,如xxx.pl iis.log>>iis.csv
    =cut
     
       #!/usr/bin/perl -w
       use strict;
       my $file;
       my $eachline;
       my %hash;
       my @arr_file=@ARGV;
      foreach $file(@arr_file){
        
        open(IIS_LOG,$file)||die"err: $! \n";
        while (defined ($eachline =<IIS_LOG>)) {
            
           #正则
           #2010-05-20 00:03:15 W3SVC1 218.5.79.57 GET /divMove.js - 80 - 221.178.26.163 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1)+) 218.5.79.57 200 0 64 0 394
            if($eachline=~/^2010-\d+-\d+\s.+ W3SVC\d*\s+218\.5\.79\.57\s+GET\s+\/divMove.js\s+-\s+80\s+-\s+(?<getip>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s+.+\d$/){
             #print "$+{getip}\n";   
                #以IP做哈希表的key,累加出现次数
              if(exists $hash{$+{getip}}){
                $hash{$+{getip}}=$hash{$+{getip}}+1
              }
              else{         
                $hash{$+{getip}}=1 
              }
              
            }
     
        }
        
      }
         my $key;
         my $value;
         while (($key, $value) = each %hash){
            print "$key,$value\n";
            }
    
    


    以上脚本生成以下表格

    202.100.121.46 1209
    123.180.14.253 185
    222.90.15.209 179
  • 相关阅读:
    存储过程和触发器
    RuPengWang项目
    短信验证
    Lucene.Net 站内搜索
    Quartz 定时任务(含Redis)
    网上支付(支付宝/银联)
    iOS 图片选择的路径处理(转)
    iOS 使用cocoaPods总结 ----摩天居士博客
    iOS 开发之本地化 国际化
    iOS 8 Xcode6 设置Launch Image 启动图片<转>
  • 原文地址:https://www.cnblogs.com/LCX/p/1743603.html
Copyright © 2020-2023  润新知