greg2
is Yet Another grep
. This one uses Go
RE2 and attempts to behave
similarly to GNU grep
where
equivalent functionality is supported.
I needed to implement a moving-window algorithm for something else and it was easier to test it in a smaller app first. Also a good mental exercise!
Usage of ./greg2:
-after int
lines of following context to print for each match
-before int
lines of preceding context to print for each match
-filenames string
show filenames in output (valid options: no, auto, yes) (default "auto")
-ignorecase
perform case-insensitive matching
-match string
RE2 regular expression to match against the input files
-quiet
do not output any matches
To do this, implement -before-from-re
and -after-to-re
, which is
something I've always wished grep
had. It can also be done with sed
:
sed -n '/BEFOREMATCH/,/AFTERMATCH/p' inputfile
This is Go, after all.
Copyright 2018 John Slee. Released under the terms of the MIT license as included in this repository.