Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

Re: Deleting lines prior to a date!

by McDarren (Abbot)
on May 09, 2006 at 14:54 UTC ( [id://548227]=note: print w/replies, xml ) Need Help??


in reply to Deleting lines prior to a date!

If it's a logfile, then one would assume that the entries are in chronological order (although you sample data isn't).

Anyway, if that's the case, you could simply open the file, then read it line-by-line using the diamond operator (<>). Skip every line until you reach the date you are interested in, and then print the remaining lines to another (new) file.

Something like this (untested):

#!/usr/bin/perl -w use strict; my $infile = 'some_logfile'; my $outfile = 'new_logfile'; my $datematch = qr(2005-5-3); # or whatever open IN, "<", $infile or die "Cannot open $infile:$!\n"; open OUT, ">", $outfile or die "Cannot open $outfile:$!\n"; while (<IN>) { next if !/$datematch/; print OUT $_; } close IN; close OUT;
Cheers,
Darren :)

Replies are listed 'Best First'.
A reply falls below the community's threshold of quality. You may see it by logging in.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://548227]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having an uproarious good time at the Monastery: (5)
As of 2024-04-18 18:23 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found