微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

perl切割日志的利器

用了过awk,python,perl都切过日志,还是感觉perl是切日志的高手,执行效率高,功能也足够强大。下面是一个小例子:
open(FILE,"/data/ebi/Meta/log");
open(CONF,"/data/ebi/conf/urltype.txt");
open(LOG,">/data/ebi/Meta/log_2");
@array1=();
while(<CONF>) {
         chomp;
         @array2 = split(/,/,$_);
         if(scalar(@array2)>=6){
                push @array1,[@array2];
         } 
}

close(CONF);


while(<FILE>)
{
  chomp;
  my ($suv,$times,$ip,$url,$refer,$type1) = split(/\s+/,$_);
  $type=$type1;
  my (undef,undef,$site) = split(/\//,$url);
  if($urlsitemap{$url}){
         $site = $urlsitemap{$url}[0]; 
         $prod = $urlsitemap{$url}[1];
         $fun = $urlsitemap{$url}[2];
  }
  else{
          for $i (0 .. $#array1){  
                $regx = @{$array1[$i]}[1];  
                if($url=~/$regx/){
                        $site = @{$array1[$i]}[2]; 
                        $prod = @{$array1[$i]}[3];
                        $fun = @{$array1[$i]}[4];
                        $urlsitemap{$url}=[$site,$prod,$fun];
                        last;
                }
          } 
  }

print LOG "$site $suv $ip $url $refer,$type\n ";

}

close(FILE);

close(LOG);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐