Perl 打印特定行日志

前端之家收集整理的这篇文章主要介绍了Perl 打印特定行日志前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_301_3@
#!/usr/bin/perl 
$dir='/home/websphere/WebSphere/AppServer/profiles/AppSrv01/logs/server1';
$file = 'SystemErr.log';
$mon_file="$dir/$file";
print "\$mon_file is $mon_file\n";
@warn_arr = qw/连接已关闭 NullPointException IndexOutOfBound/;
foreach $a  (@warn_arr){
   open (C,"<","$a.tmp")  ;
         while (<C>){   
                       $count  = $_;   
                                             }   
         print "\$count is $count\n";   
                                                                                      
         $info =`tac $mon_file  |  grep "$a" | head -1`;   
                                                                                                                      
         open (A,"$mon_file") || die "$!\n";   
$i=0;
while (<A>) {  
        $num++; 
       if ($_ =~ /$a/i){$i++;$b=$num};
       };   

      if ( $i !=0 && $i != $count && defined($count)) {
    open (B,"$mon_file") || die "$!\n";
   while  (<B>) {
  print $_  if ($.>=$b and $.<=$b + 10) }};
                                                                                                                                                                                            open (C,">","$a.tmp");
                                                                                                                                                                                             print C ("$i\n"); 

                                                                                                                                                                                             }
@H_301_3@

猜你在找的Perl相关文章