Como obter saída colorida do script bash?

8

Quando eu executo grep de dentro do gnome-terminal, recebo saída colorida - correspondência facilmente perceptível, números de linha (-n) com cores diferentes, etc.

Mas quando eu executo exatamente o mesmo comando grep através do script bash, recebo saída de plano, sem colorir

Existe uma maneira de obter saída colorida usando o script bash?

    
por zetah 30.01.2012 / 00:18

3 respostas

8

Usar a opção --color funciona para mim quando eu executo o grep dentro de scripts de shell.

Aqui está um exemplo do que você quer.

grep -n --color=auto "PATTERN" FILE
    
por Octavian Damiean 30.01.2012 / 00:46
3

Aqui está um pequeno script que ajuda você a entender como o tput funciona com o bash

#!/bin/bash
#@auth kesavan.muthuvel
#@desc - bash with colors :)

B='tput bold'           #BOLD
D='tput dim'            #DIM
U='tput sgr 0 1'        #UNDERLINE
U2='tput smul'          #UNDERLINE2
NOU='tput rmul'         #NO UNDERLINE
H='tput smso'           #HIGHLIGHT
X='tput sgr0'           #RESET
C='tput setaf '         #COLOR


for i in 0 1 2 3 4 5 6 7 ; do
        c='$C$i' && echo $c${B}I${U}always$NOU $D love \
           ${U2}colors$NOU \& $c${H}GNU/Linux$X
done;

Isso imprimirá a seguinte saída com formatos como BOLD , UNDERLINE, Highlighting e cores.

    
por Kesavan Muthuvel 27.12.2013 / 23:19
0

Você tentou adicionar esse alias ao seu ~/.bashrc ?

alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
    
por Carlos Ricardo 30.01.2012 / 00:39

Tags