grep multiple lines
* * * * 1 votos
August 9th, 2007 mysurface Posted in Text Manipulation, grep | Hits: 25447 |
You can grep multiple lines before or after matching the keywords. Here is a simple tips, that what I discover grep capable of. A is after, B is before.
Let say you have the message.txt shows as below:
Aug 5 02:43:12 zion kernel: [ 0.000000] Zone PFN ranges:
Aug 5 02:43:12 zion kernel: [ 0.000000] DMA 0 -> 4096
Aug 5 02:43:12 zion kernel: [ 0.000000] Normal 4096 -> 130730
Aug 5 02:43:12 zion kernel: [ 0.000000] HighMem 130730 -> 130730
Aug 5 02:43:12 zion kernel: [ 0.000000] early_node_map[1] active PFN ranges
Aug 5 02:43:12 zion kernel: [ 0.000000] 0: 0 -> 130730
Aug 5 02:43:12 zion kernel: [ 0.000000] DMI 2.3 present.
You can grep “DMA” with -B 1 and -A2
grep -B1 -A2 "DMA" message.txt
It will return
Aug 5 02:43:12 zion kernel: [ 0.000000] Zone PFN ranges:
Aug 5 02:43:12 zion kernel: [ 0.000000] DMA 0 -> 4096
Aug 5 02:43:12 zion kernel: [ 0.000000] Normal 4096 -> 130730
Aug 5 02:43:12 zion kernel: [ 0.000000] HighMem 130730 -> 130730
It is useful to grep logs with multiple lines for one entry.
Live Chat!









September 3rd, 2007 at 10:29 am
This is damm cool. Never use this option before. Thanks for your tips.
September 11th, 2007 at 6:40 am
I use that feature all the time. I think grep & sed are my best friends. :)
March 7th, 2008 at 11:27 pm
Could you please me how to do the same in HP-UX?
Thank you in advance