Usando bash, você pode realçar todas as palavras 'FAIL' em vermelho usando os seguintes comandos:
txtred=$(echo -e '\e[0;31m')
txtrst=$(echo -e '\e[0m')
bash | sed -e "s/FAIL/${txtred}FAIL${txtrst}/g"
O que ele faz é criar um novo shell bash e editar o stdout desse novo shell usando sed
. Se você quiser terminar a edição stdout, simplesmente digite exit
para retornar ao seu shell anterior. Você pode encontrar mais comandos de cores aqui . A variação echo -e
é necessária para obter o valor real ESCAPE de \e
.
Eu tentei com echo
e cat
neste subshell e está funcionando. No entanto, ele interrompe os programas que esperam um terminal como sua saída, como vi
. Eu acho que também iria quebrar programas usando buffer de saída especial. Ele também está quebrando comandos como echo -n FAIL
e altera o comportamento de comandos como ls
(ls imprime muitos arquivos por linha quando a saída é um terminal e um arquivo por linha quando a saída é um canal).