Hi Monks,
I have a question reqarding printing x lines above and below a string found in a file. Currently I have the following code which identifies the string and prints the string and one line below. How would we modify this to print lets say 5 lines above and below the string?
I have searched but cant seem to find anything that does both. Most of what I found print either lines after or before when a string variable is found in the file. I am also not sure the way I have it is the best way to move forward with... Thanks for your input.
#!/usr/bin/perl use strict; $hits=0; $string_to_find="string"; $file = "filename"; open (LOGFILE, $file); while($line = <LOGFILE>) { if ($line =~ /$string_to_find/i) { $hits++; print "$line"; print scalar <LOGFILE>; } } close(LOGFILE);
In reply to Print Lines above and below string by coding_new
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |