Here is the output I got:

"2002-08-28","Tape 1", "staff", "315825"
"2002-08-28","Tape 2", "www.cs", "102860"
"2002-08-28","Tape 2", "staff_homepages", "103142"
"2002-08-28","Tape 2", "ftp.cs", "103204"
"2002-08-28","Tape 2", "local", "103216"
"2002-08-28","Tape 2", "Hyper-G", "103236"
"2002-08-28","Tape 2", "submissions", "104278"
"2002-08-28","Tape 2", "src", "110373"
"2002-08-28","Tape 2", "IMAP", "110455"

from the snippet:
#!perl -w
my $MyTape = 1;

my ($MyCurrDate, $MyCurrTape, $MyCurrDesc, $MyCurrBlock) = ('','','','');
my ($MyPrevBlock) = (0);

while (<DATA>) {
   chomp;
   if ( /\sof\s+([^\s]+).+(\d{4}-\d{2}-\d{2}).+block\s+(\d+)/i ) {
      $MyCurrDesc  = $1;
      $MyCurrDate  = $2;
      $MyCurrBlock = $3;
      $MyTape++ if ( $MyCurrBlock < $MyPrevBlock);
      $MyCurrTape  = $MyTape;
      printf "\"%-s\",\"Tape %d\", \"%-s\", \"%d\"\n", $MyCurrDate,
$MyCurrTape, $MyCurrDesc, $MyCurrBlock;
      $MyPrevBlock = $MyCurrBlock;
    }
 }
__DATA__
INCREMENTAL OF staff  ON  2002-08-28  FROM  08/27/02  STARTS AT  At
block 315825.
INCREMENTAL OF www.cs <http://www.cs>   ON  2002-08-28  FROM   08/27/02
STARTS AT  At block 102860.
INCREMENTAL OF staff_homepages  ON  2002-08-28  FROM  08/27/02  STARTS AT
At          block 103142.
INCREMENTAL OF ftp.cs <ftp://ftp.cs>   ON  2002-08-28  FROM   08/27/02
STARTS AT  At  block 103204
INCREMENTAL OF local  ON  2002-08-28  FROM  08/27/02  STARTS AT  At
block 103216.
INCREMENTAL OF Hyper-G  ON  2002-08-28  FROM  08/27/02  STARTS AT  At
block 103236.
INCREMENTAL OF submissions  ON  2002-08-28  FROM  08/27/02  STARTS  AT  At
block 104278.
INCREMENTAL OF src  ON  2002-08-28  FROM  08/27/02  STARTS AT  At
block 110373.
INCREMENTAL OF IMAP  ON  2002-08-28  FROM  08/27/02  STARTS AT  At
block 110455.


Wags ;)
-----Original Message-----
From: LADDO [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, August 27, 2002 15:59
To: [EMAIL PROTECTED]
Subject: sorting logs 


Hi all

I have a log file which is generated by backup script and i am writing a 
perl script to  sort the log so as to prepare it to put into mysql 
database and iam having a problem in doing that.

my log file is like this   (I have written line numbers for clarity only )

1  INCREMENTAL OF staff  ON  2002-08-28  FROM  08/27/02  STARTS AT  At 
block 315825.
2  INCREMENTAL OF www.cs <http://www.cs>   ON  2002-08-28  FROM  
08/27/02  STARTS AT  At block 102860.
3  INCREMENTAL OF staff_homepages  ON  2002-08-28  FROM  08/27/02  
STARTS AT  At block 103142.
4  INCREMENTAL OF ftp.cs <ftp://ftp.cs>   ON  2002-08-28  FROM  
08/27/02  STARTS AT  At block 103204
5  INCREMENTAL OF local  ON  2002-08-28  FROM  08/27/02  STARTS AT  At 
block 103216.
6  INCREMENTAL OF Hyper-G  ON  2002-08-28  FROM  08/27/02  STARTS AT  At 
block 103236.
7  INCREMENTAL OF submissions  ON  2002-08-28  FROM  08/27/02  STARTS 
AT  At block 104278.
8  INCREMENTAL OF src  ON  2002-08-28  FROM  08/27/02  STARTS AT  At 
block 110373.
9  INCREMENTAL OF IMAP  ON  2002-08-28  FROM  08/27/02  STARTS AT  At 
block 110455.

i want a script that can give me output like this

"2002-08-28","$PROBLEM","staff", "315825"                            

$PROBLEM  is actually  tape number which should be derived from 
blocknumbers in the logfile  e.g say the initial TAPE No =1 and the 
script should check if the block number is greater than the block number 
in the next line it should replace $PROBLEM with TAPE 1 Other wise 
should do something like $PROBLEM=$TAPE +1

Like in my example
line 1  should give the output as

"2002-08-28","TAPE 1","staff", "315825"  # because 315825  > 102860

line 2 should be

"2002-08-28", "TAPE 2","www.cs", "102860"  # tape=$tape +1 is required 
because   102860  ! >  103142                                  
                                   

and the same with other lines ....

i can do it  with awk and  bash but as iam learning perl iam trying to 
write everything in perl. For all the guru's  out there i know its very 
simple please help


Hmmm  i hope i have explained the concept correctly

Cheers

Bobby




-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to