On Tue, 2008-09-09 at 22:44 -0700, John W. Krahn wrote:
> Rodrick Brown wrote:
> > On Tue, Sep 9, 2008 at 3:23 PM,  <[EMAIL PROTECTED]> wrote:
> >>
> >> i want get the time specified in last line of the file.
> >> For eg:
> >> $tail -2 test.log
> >> 2008 aug 25 14:48:42.800 Sending ping message;
> >> 2008 aug 25 14:48:43.390 Sending ping message;
> >> The file size is huge, so i dont want to read the entire file to get
> >> the last line. Is there any way to get the last line of a file
> >> directly in perl? i need to get the hour(14) and min(48) specified in
> >> the last line of the file. can anybody help me on this?
> > 
> > You can mimic tail -1 using the following:
> > 
> > perl -nle 'push @l,$_;  END { print $l[$#l] }' /tmp/filename
> 
> You don't have to save the entire file in an array just to capture the 
> last line:
> 
> perl -ne'$l = $_; END { print $l }' /tmp/filename
> 
> Or even:
> 
> perl -pe'$\=$_}{' /tmp/filename
> 

The OP did ask NOT to read the entire file.


-- 
Just my 0.00000002 million dollars worth,
  Shawn

"Where there's duct tape, there's hope."
        Cross Time Cafe

"Perl is the duct tape of the Internet."
        Hassan Schroeder, Sun's first webmaster


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to