Como grepé um programa GNU, outra opção pode ser dar uma olhada no código fonte.
Internamente testes grep os static int color_optionpara um ou outro 0, 1ou 2.
0 nunca use saída colorida
1 use sempre cores
2 use somente cores ao imprimir em um terminal
Agora, quando você entregar --color=autoao grep como argumento em seu CLI, ele define internamente a variável color_optiona 2.
Se color_optioniguala 2 grep, testa mais se STDOUTestá vinculado a um terminal ou se o usuário desativou a saída colorida via shell environment variables. Se o primeiro for verdadeiro e a saída colorida for permitida, grepcontinue avaliando quais cores devem ser usadas e, finalmente, finalmente será impresso na sua CLIcor.
fonte: (grep 2.21)
grep.c line 306, 2374, 2440
colorize-posix.c line 36
man isatty
less -Rpoderá obter o destaque da correspondência, mas precisará especificar--color=alwaysgrep para que funcione.