Realce uma única palavra * sempre * em um terminal

6

Existe um emulador de terminal (como o terminal GNOME) para o linux / unix, que permite destacar uma única palavra sempre (como "realce a palavra FAIL em vermelho")? Ou talvez haja um plugin para o terminal GNOME (se existir algo como "plugins para o terminal gnome").

A solução deve destacar a palavra, independentemente de qual aplicativo está sendo executado dentro do terminal, ou seja, executar cat test.txt deve destacar a palavra, bem como make all .

Qualquer ajuda é muito apreciada pelos meus olhos turvos.

    
por scravy 17.01.2012 / 00:44

3 respostas

6

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).

    
por 22.01.2012 / 13:29
1

clide funciona bem. Eu uso no RHEL 6.2, do repositório EPEL

    
por 29.02.2012 / 15:09
-2

Você pode usar

cat filename|grep word -w 

em que filename é o nome do arquivo e word é a palavra que você deseja destacar.

    
por 13.12.2016 / 16:05