Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

Re^2: grep lines from log for last 10 mints

by bimleshsharma (Beadle)
on Aug 07, 2012 at 09:11 UTC ( #985924=note: print w/replies, xml ) Need Help??

in reply to Re: grep lines from log for last 10 mints
in thread grep lines from log for last 10 mints

I tried below by passing file name as cmd args(i guessed) but it is not running. it is going second line of command prompt(>). Can you please suggest how to run this.
perl -MDate::Parse -e'BEGIN{$main::now=time;$main::old=(time-60*10)}' +-nE'if(/^(\w+\s+\d+\s+\d+:\d+:\d+)/) {$t=str2time $1; $t > $old && $t + < $now && print}'

Replies are listed 'Best First'.
Re^3: grep lines from log for last 10 mints
by aitap (Curate) on Aug 07, 2012 at 09:42 UTC
    Sorry, I couldn't understand you.
    Does it just terminate without any output when you run it, or the shell tries to make you input some more text? Can you show the exact command you run (you said that you tried passing the filename as a commandline argument, which is right)? What shell are you using? Can you show a small example of file being parsed?
    You can also put the whole oneliner in a file, like this:
    #!/usr/bin/perl -n # note the -n switch use Date::Parse; use features 'say'; BEGIN{$main::now=time;$main::old=(time-60*10)} if(/^(\w+\s+\d+\s+\d+:\d+:\d+)/) {$t=str2time $1; $t > $old && $t < $n +ow && print}
    And then run it passing file names as a command line arguments (perl my_log_1.log my_log_2.log) or feeding them to STDIN (cat my_log_*.log | perl
    Sorry if my advice was wrong.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://985924]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (4)
As of 2018-01-20 19:55 GMT
Find Nodes?
    Voting Booth?
    How did you see in the new year?

    Results (227 votes). Check out past polls.