>> 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. > > Since Grep doesn't return the column number of the match, we get it from > parsing the string again. And if the string is now modified to be > truncated from both sides, the column number will become wrong. > I did not understand that you need the column number of the match. That could perhaps become a feature request for GNU grep: with -o and -n, also print the column number of the first character. That being said, if you truncate the N first characters of the matching line, you have to parse the original line (that is, not the line that grep or another tool outputs) to find the matches anyway.