[ale] Help Processing a Log File

Geoffrey esoteric at 3times25.net
Wed May 12 20:58:39 EDT 2004


Jonathan Glass wrote:
> I'm trying to parse a printer log file.  Here is a snippet of a single
> print job (I added the extra lines for legibility):
> -----------
> jobstart '-HMUTT' '-nomard' '-Plp' '-kcfA008MUTT' '-b752686'
> '-t2003-02-18-16:15:53.000'
> 
> start '-q29645' '-p241810' '-t2003-02-18-16:15:55.087' '-Aomard at MUTT+8'
> '-nomard' '-Plp'
> 
> filestart '-q29646' '-p241810' '-t2003-02-18-16:15:57.095'
> '-Aomard at MUTT+8' '-nomard' '-Plp'
> 
> fileend '-b9' '-T36' '-q29646' '-p241819' '-t2003-02-18-16:16:31.076'
> '-Aomard at MUTT+8' '-nomard' '-Plp'
> 
> end '-b9' '-T42' '-q29645' '-p241819' '-t2003-02-18-16:16:35.070'
> '-Aomard at MUTT+8' '-nomard' '-Plp'
> 
> jobend '-HMUTT' '-nomard' '-Plp' '-kcfA008MUTT' '-b752686'
> '-t2003-02-18-16:16:35.000'
> 
> -----------------
> 
> All I need to do is pull out the user (-nomard, -name omard) and the
> number of pages printed (fileend -p241819, subtract filestart -p241810).
> 
> I can think of ways of pulling a single variable out (username, #pages
> at start, #pages at end), but can't figure out how to pull out all 3
> simultaneously.
> 
> i'm hoping to parse through the past year's worth of logs and create a
> cumulative total, broken down by user and month.
> 
> I recently saw a perl regex that could do this, but it was too complex
> for me to follow.
> 
> Any suggestions, pointers, tips?  I really need this report fairly soon,
> unfortunately.

I'm not quite sure I understand the problem.  Is it possible to have 
either a '-nomard' or a '-name omard'?

Here's my quick hack of a prototype to possibly get you started:

#!/usr/bin/perl
 

 
          use strict;
 

my ($user, $p1, $p2);
 

while (<ARGV>) {
 

     /jobstart/ &&  ($user = substr((split(/\'/, $_))[3], 2));
     /filestart/ &&  ($p1 = substr((split(/\'/, $_))[3], 2));
     /fileend/ &&  ($p2 = substr((split(/\'/, $_))[7], 2));
};
print "$user ", $p2 - $p1, "\n";


Does that produce anything like you're looking for???


-- 
Until later, Geoffrey                     Registered Linux User #108567
Building secure systems in spite of Microsoft



More information about the Ale mailing list