Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

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

by TedPride (Priest)
on Sep 17, 2004 at 07:48 UTC ( #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?

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

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (4)
As of 2023-09-27 18:50 GMT
Find Nodes?
    Voting Booth?

    No recent polls found