Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: grab 'n' lines from a file above and below a /match/

by TedPride (Priest)
on Sep 17, 2004 at 07:48 UTC ( [id://391703]=note: print w/replies, xml ) Need Help??


in reply to grab 'n' lines from a file above and below a /match/

The solution is to store the last 5 lines visited in an array, and also have a variable tracking how many more lines beyond the current one have to be output:
$x = 5; # Number of lines to print above and below. open (LOG, "GWSvc.log") || die "Unable to get a handle to the file: $! +\n"; $after = 0; while (<LOG>) { if ($after) { print $_; $after--; } else { push (@lines, $_); if ($#lines > $x) { shift(@lines); } } if (/c9391b56-b174-441b-921c-7d63/) { print $line while ($line = shift(@lines)); $after = $x; } }

Replies are listed 'Best First'.
Re^2: grab 'n' lines from a file above and below a /match/
by melora (Scribe) on Sep 17, 2004 at 15:10 UTC
    No offense, but s/The solution/A solution/. There is more than one way..

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others lurking in the Monastery: (5)
As of 2024-04-25 19:59 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found