2009年5月26日星期二

[PerlChina] Re: 固定的格式输出

my @EXT_LIST = map {qr/$_/} qw{
aaServlet
bbServlet
};


aaServlet 就是你要匹配的内容咯


在 2009-05-26二的 15:45 +0800,smallfish写道:
> 你可以尝试下效果,对比下就知道了,我的发布环境就是普通dell 1u服务器
>
> --
> twitter : http://twitter.com/smallfish_xy
> blog : http://hi.baidu.com/smallfish_xy
> http://hi.baidu.com/smallfish7788
>
>
> 2009/5/26 Jacky Xu <x2x4com@gmail.com>
>
> 效率真得好很多吗?
>
> my @EXT_LIST = map {qr/$_/} qw{
> aaServlet
> bbServlet
> };
>
>
> aaServlet 就是你要匹配的内容咯
>
>
> 在 2009-05-26二的 15:39 +0800,smallfish写道:
> > 因为result里的key值都是?-xism:bbServlet类似这个样子的,就是
> 上面预编译
>
> > 以后的字符串的样子
> > 实在不方便查看把,就手动替换了下下。
> >
> > 不容易,这位仁兄竟然把我代码扒拉下来了 :)
> >
> > --
> > twitter : http://twitter.com/smallfish_xy
> > blog : http://hi.baidu.com/smallfish_xy
> > http://hi.baidu.com/smallfish7788
> >
> >
> > 2009/5/26 Jacky Xu <x2x4com@gmail.com>
> > #
> >
> --------------------------------------------------------------------
> > use strict;
> > use Benchmark;
> >
> > my $LOG_FILE = '/usr/local/apache/logs/access.log';
> > # 下面qr部分起了关键作用,预编译了表达式
> > my @EXT_LIST = map {qr/$_/} qw{
> > aaServlet
> > bbServlet
> > };
> >
> > my $startime = new Benchmark;
> > my %result;
> > map {$result{$_} = 0} @EXT_LIST;
> > open LOG_FILE, $LOG_FILE;
> > while (<LOG_FILE>){
> > foreach my $ext (@EXT_LIST)
> > { $result{$ext}++ if $_ =~ /$ext/; }
> > }
> > close LOG_FILE;
> >
> > while (my ($key, $value) = each(%result)){
> > $key =~ s/\(\?-xism:(.*?)\)/$1/g; #鱼兄,为什
> 么这里你还
> > 要匹配一下?
> > print "$key:\t$value\n";
> > }
> >
> > printf "** %s\n\n", timestr(timediff(new Benchmark,
> > $startime));
> >
> >
> >
> >
> >
> >
> >
> > 在 2009-05-25一的 11:24 +0800,smallfish写道:
> >
> >
> > > 是滴是滴,感谢扒到我博客~~~
> > > 缘分啦!
> > >
> > > --
> > > + 推特: http://twitter.com/smallfish_xy
> > > + 新博: http://hi.baidu.com/smallfish_xy
> > > + 旧博: http://hi.baidu.com/smallfish7788
> > >
> > >
> > > 2009/5/25 Rainbird <chinakapalink@gmail.com>
> > > 哈哈,这个世界挺小
> > >
> > > 2009/5/25 smallfish
> <smallfish.xy@gmail.com>
> > >
> > >
> > > 哈哈,我的博客也被你扒到了啊~~~~~
> > >
> > > --
> > > + 推特:
> http://twitter.com/smallfish_xy
> > > + 新博:
> http://hi.baidu.com/smallfish_xy
> > > + 旧博:
> http://hi.baidu.com/smallfish7788
> > >
> > >
> > > 2009/5/25 Rainbird
> > > <chinakapalink@gmail.com>
> > >
> > >
> > > 刚翻到一个博客也是分析日志
> 的,你,值
> > > 得拥有
> > >
> http://hi.baidu.com/smallfish%
> > >
> 5Fxy/blog/item/2bc4d4232d23e0ac4723e822.html
> > >
> > >
> > > 2009/5/25 xiaoliang
> > > <alabos@163.com>
> > >
> > >
> > > 用 printf 输出就
> 行了.
> > >
> > >
> > >
> > >
> > > ----- Original
> Message -----
> > > From: "Jacky Xu"
> > >
> <x2x4com@gmail.com>
> > > To: "perlchina"
> > >
> <perlchina@googlegroups.com>
> > > Sent: Monday, May
> 25, 2009
> > > 10:40 AM
> > > Subject:
> [PerlChina] 固定的
> > > 格式输出
> > >
> > >
> > > > 兄弟们,我有个需
> 求,为了工
> > > 作方便我需要写一些
> 实时的分析
> > > 脚本来分析类似
> > > > apache/ngx的日志
> > > >
> > > > 问题1:
> > > > 我采用 open
> PIPE, "tail -f
> > > xxx |"的方式打开日
> 志文件
> > > > 这个有什么问题没
> 有?
> > > (现在有些机器的日
> 志大概在每
> > > 秒30~50条之间)
> > > >
> > > > 问题2:
> > > > 我希望能输出类似
> 的东西
> > > > domain count
> bytes
> > > > abc.com: 13
> 3300
> > > >
> > > > 除了数字的部分会
> 变化,我希
> > > 望abc.com: 不要变
> 化 数字根据
> > > PIPE的分析累加变
> > > > 化。
> > > > 我现在是在循环里
> 面套这
> > > print,每次循环结
> 束都给我丢
> > > 个print,很不舒
> 服,满屏
> > > > 幕的abc.com xxx
> xxx
> > > >
> > > > 有什么好的方法解
> 决?
> > > format ?
> > > >
> > > >
> > > >
> > > >
> > > > >
> > > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
> >
> >
> >
> >
> > >
>
>
>
>
>
>
> >


--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---

没有评论: