It's not very interactive, and needs some command line features. The point, I guess, is that you could use this in conjunction with my colorize awk function to have context sensitive searching of words in a way that
less can be useful. ETA: Oh, yeah, the point was to add "before" context to tail-f filename | grep "search" , similar to how grep does it on static files. In this case, it's more of tail -f filename | awk -f thisfile.awk, and you could also pipe that through my awk colorizer for the double whammy: context (before and after search) plus color.
BEGIN { 
        numlinesbefore = 3
        numlinesafter = 3
        needle = "search"
        aftercount = -1
        head = ""
        tail = ""
}
{
        before[numlinesbefore] = $0
        for (i = 0; i < numlinesbefore; i++) {
          before[i] = before[i+1]
        }
        if ($0 ~ needle) {
          for (i = 0; i < numlinesbefore-1; i++) {
                head = head "\n"  before[i]
          }
          aftercount = numlinesafter + 1
          tail = ""
          print head 
        }
        if (aftercount >= 0) {
          print $0
          --aftercount
        }
        if (aftercount == 0 ) {
          head = ""
          tail = ""
          print "---"
          aftercount = -1
        }
}
Of course,this is an awk program.
 
 
No comments:
Post a Comment