Como grep
é um programa GNU, outra opção pode ser dar uma olhada no código fonte.
Internamente testes grep os static int color_option
para um ou outro 0
, 1
ou 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=auto
ao grep como argumento em seu CLI, ele define internamente a variável color_option
a 2
.
Se color_option
iguala 2
grep
, testa mais se STDOUT
está 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, grep
continue avaliando quais cores devem ser usadas e, finalmente, finalmente será impresso na sua CLI
cor.
fonte: (grep 2.21)
grep.c line 306, 2374, 2440
colorize-posix.c line 36
man isatty
less -R
poderá obter o destaque da correspondência, mas precisará especificar--color=always
grep para que funcione.