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:

  • 相关阅读:
    什么人一亏再亏,什么人亿万富翁? —兼谈本周经济与股市
    数组排序
    倒水
    倒水
    lua string
    lua string
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13351861.html
Copyright © 2011-2022 走看看