Esta pergunta é antiga, mas desde que eu tropecei nela enquanto procurava uma maneira de fazer apenas parte de uma linha, aqui vai:
Uma solução alternativa é habilitar a opção 'somente correspondência' e, em seguida, usar o poder do RegExp para obter um pouco mais de seu texto:
grep -o ".\{0,50\}WHAT_I_M_SEARCHING.\{0,50\}" ./filepath
É claro que, se você usar o realce de cor, sempre poderá fazer o grep novamente para colorir apenas a correspondência real:
grep -o ".\{0,50\}WHAT_I_M_SEARCHING.\{0,50\}" ./filepath | grep "WHAT_I_M_SEARCHING"
Nota:
- isso pode não retornar todos os resultados esperados se você tiver várias correspondências por linha: o. {0,50} pode corresponder a parte da correspondência a seguir e, assim, impedir a correspondência.
- Esse regex é lento. Muito devagar. (veja os comentários para uma possível solução)