>> Actually, it is possible to truncate output with GNU grep: >> >> grep -oE '.{0,100}PATTERN.{0,100}' >> >> prints at most 100 characters before and after PATTERN.  I find this >> much better than ripgrep -M. > > I'm not sure how to parse that output (it would be quite different from > what we get now), > How so? AFAICS, it's the exact same kind of output, except that it gets truncated. And it's (obviously?) better to see the context of the pattern you are searching for, instead of the first characters of the lines on which the pattern is found, in which the pattern might not be present. > > and if the one-long-line file has many matches inside, we'll still get > them all, which we might or might not want. > Indeed, if one-long-line has many matches inside, you'll get them all, which IMO makes perfect sense. Note that this does not happen when all matches are inside the boundaries. For example, if your search for '.{0,100}b.{0,100}' on "aaaabbbbcccc", you get a single match; if you search for '.{0,1}b.{0,1}' on that same string you get two matches.