Para colorir a saída do comando ou conteúdo de um arquivo, posso pensar em dois métodos fáceis que podem funcionar bem:
-
grep
- pode ser feito para mostrar o restante do arquivo também e fazer várias correspondências com algumas opções avançadas - por exemplo:grep --color -iE 'log|kernel' -C 999 grep --color -iE 'log|kernel|$'
A primeira procura
log
ekernel
sem distinção entre maiúsculas e minúsculas e mostra as 999 linhas adjacentes. A segunda pesquisa porlog
,kernel
e um caractere presente em cada linha (como sugerido aqui ) insensível a maiúsculas e minúsculas. Para obter mais informações, você pode consultar oman grep
, se disponível, ou ler o manual para GNU grep ou OSX grep . -
python-pygments
- deve estar disponível empip
. Pode ser usado para destacar a sintaxe, pode ter um lexer disponível para o que você deseja processar.
Além disso, para formatação geral da saída, você pode usar códigos de escape ANSI - por exemplo:
echo -e "3[31mred3[0m"
echo -e "3[34mblue3[0m"
O 3
é um caractere de escape, e depois disso você pode especificar códigos para fazer coisas diferentes - você também pode especificar vários:
echo -e "3[1;31mbold red3[0m"
echo -e "3[4;34mblue underlined3[0m"
Eu não tenho certeza sobre o suporte no OSX embora ... você pode precisar tentar um caractere de escape - as cores no terminal também podem precisar estar ativado .