shotgunefx has asked for the wisdom of the Perl Monks concerning the following question:

I wasn't sure if this fell better under meditations but I think it belongs in SOPW. I was thinking of grep, and how it would be nice if it showed N specified lines before and after the match to give you the context of the text. Now it is probably my ignorance but I couldn't find a unix command to do this. (There has to be one right?)

Any way, as I needed a break from my current work, I grabbed a copy of tcgrep from the Perl Power Tools collection and modified it to show you N lines before and after. I haven't posted the code because I haven't added the command line options yet to let you configure it's display, but before I take the effort, I wanted to make sure of a couple things.

  1. That this doesn't already exist as a standard UNIX tool ( I figure there must be).
  2. If by the incredible chance it doesn't, should I submit it as a patch? to PPT or just note where it's pulled from and their copyright and call it grope :)


-Lee

"To be civilized is to deny one's nature."
  • Comment on Grepping surrounding lines, is this redundant?

Replies are listed 'Best First'.
Re: Grepping surrounding lines, is this redundant?
by Kanji (Parson) on Apr 14, 2003 at 07:28 UTC
    That this doesn't already exist as a standard UNIX tool ( I figure there must be).

    GNU grep

    grep -3 -C [NUM], -NUM, --context[=NUM] Print NUM lines (default 2) of output context. grep -A3 -A NUM, --after-context=NUM Print NUM lines of trailing context after matching lines. grep -B3 -B NUM, --before-context=NUM Print NUM lines of leading context before matching lines.
    Update:
    If by the incredible chance it doesn't, should I submit it as a patch?

    Submit a patch regardless. :-)

        --k.


      Thanks.
      Duh! I can't believe I never saw that. I knew it had to be long done already. I did do some googling put apparently I wasn't looking for the right terms. Oh well. I will polish it regardless as I do like the way I have the numbering set up. (It can number the lines -N - 0 (match)- N+ which I happen to like)
      ##############################
       -5:
       -4:use 5.006;
       -3:use strict;
       -2:use warnings;
       -1:
        0:use constant PREFIX => '_Branch_';
        1:
        2:use HTML::Parser;
        3:use HTML::Tagset;
        4:use Data::Dumper;
        5:
      ##############################
      


      -Lee

      "To be civilized is to deny one's nature."
Re: Grepping surrounding lines, is this redundant?
by grep (Monsignor) on Apr 14, 2003 at 07:30 UTC
      It's funny. I almost /msg'ed you to ask figuring with your nic, well...

      -Lee

      "To be civilized is to deny one's nature."