Dado que grepes un programa GNU, otra opción podría ser echar un vistazo al código fuente.
Internamente grep prueba static int color_optionpara 0, 1o 2.
0 nunca use salida coloreada
1 siempre usa colores
2 solo use colores cuando imprima en un terminal
Ahora, cuando entrega --color=autoa grep como argumento en su CLI, establece internamente la variable color_optionen 2.
Si color_optiones igual2 grep entonces se comprueba si STDOUTestá vinculado a un terminal o si el usuario deshabilitó el outpit coloreado a través de shell environment variables. Si el primero es verdadero y se permite la salida coloreada, grepcontinúa con la evaluación de los colores que se deben usar y finalmente se imprime en su CLIcolor.
fuente: (grep 2.21)
grep.c line 306, 2374, 2440
colorize-posix.c line 36
man isatty
less -R, puede obtener resaltado de coincidencias, pero debe especificar--color=alwaysgrep para que funcione.