zoukankan      html  css  js  c++  java
  • Perl 懒惰匹配

    [grid@devrac1 ~]$ cat sum.pl 
    if ( $#ARGV < 0 ){  
            print "please input your file! ";
            exit(-1);  
        } 
    $logfile= $ARGV[0];  
    my %log;
    open (LOG ,"<","$logfile");
    while (<LOG>) {
    chomp;
    if ($_ =~ /^[[seri(.*)(d{1,3}.d{1,3}.d{1,3}.d{1,3})/){
    print "$1 is $1 ";
    $var= (split /_/, (split /:/,$_)[2])[0];
    $log{$var}++;
    }
    }
    #print  %log;
    while(my($ip, $times) = each %log) {
         print "$ip  $times ";
         }
    [grid@devrac1 ~]$ perl sum.pl 1.log
    $1 is :288i19BF:122.96.47.8_se[[seri:288i19BF:12
    $1 is :288i19BF:122.96.47.8_se[[seri:288i19BF:12
    $1 is :288i19BF:122.96.47.8_se[[seri:288i19BF:12
    $1 is :288i19BF:192.96.47.8_se[[seri:288i19BF:19
    192.96.47.8  1
    122.96.47.8  3




    这里直接贪婪的匹配到了:288i19BF:192.96.47.8_se[[seri:288i19BF:19
    -----------------------------------------------------------------


    [grid@devrac1 ~]$ cat sum.pl 
    if ( $#ARGV < 0 ){  
            print "please input your file! ";
            exit(-1);  
        } 
    $logfile= $ARGV[0];  
    my %log;
    open (LOG ,"<","$logfile");
    while (<LOG>) {
    chomp;
    if ($_ =~ /^[[seri(.*?)(d{1,3}.d{1,3}.d{1,3}.d{1,3})/){
    print "$1 is $1 ";
    $var= (split /_/, (split /:/,$_)[2])[0];
    $log{$var}++;
    }
    }
    #print  %log;
    while(my($ip, $times) = each %log) {
         print "$ip  $times ";
         }
    [grid@devrac1 ~]$ perl sum.pl 1.log
    $1 is :288i19BF:
    $1 is :288i19BF:
    $1 is :288i19BF:
    $1 is :288i19BF:
    192.96.47.8  1
    122.96.47.8  3


    这里匹配到第一个就停止了


    [grid@devrac1 ~]$ cat 1.log 
    [[seri:288i19BF:122.96.47.8_se[[seri:288i19BF:122.96.47.8ssionid:
    [[seri:288i19BF:122.96.47.8_se[[seri:288i19BF:122.96.47.8ssionid:
    [[seri:288i19BF:122.96.47.8_se[[seri:288i19BF:122.96.47.8ssionid:
    [[seri:288i19BF:192.96.47.8_se[[seri:288i19BF:192.96.47.8ssionid:

  • 相关阅读:
    判定一个APP是否可以上线?
    即时聊天-环信
    类目延展协议
    一个sql的优化
    多线程编程
    sql小总结
    人生七问
    js之按键总结
    搭建框架日志记录
    jquery函数
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13351861.html
Copyright © 2011-2022 走看看