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);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值