- 论坛徽章:
- 0
|
回复 #15 gaochong 的帖子
为了寻求可能更高的效率,我想到了grep,写了3.pl如下:
#!/usr/bin/perl -w
use strict;
use POSIX qw(strftime);
my $t1=strftime "%Y%m%d%H%H%S",localtime;
print "$t1\n";
#my $date=strftime "%Y%m%d",localtime;
my $date=20090527;
my $log="/logs/log${date}0000.dat";
open FILE,"< $log" or die "$!";
my @list=grep /Login OK/,<FILE>;
close FILE;
open FILE_t,"< $log" or die "$!";
my @list2=grep /Login incorrect/,<FILE_t>;
close FILE_t;
open FILE2,">> /export/home/gaochong/radius_tongji.log" or die "$!";
print FILE2 $date . "\t" . scalar @list . "\t" . scalar @list2 . "\n";
close FILE2;
my $t2=strftime "%Y%m%d%H%H%S",localtime;
print "$t2\n";
print $t2-$t1 . "\n";
从程序上分析,I/O次数多了一次,效率可能会更低。
但我运行./3.pl ,却好像僵死一样,跑了1分钟还没有结果。
是因为I/0的问题吗? |
|