Como eu mudo a cor de todas as linhas para vermelho começando com um símbolo%?

2

Quando uso

sed -i "s,.*%.*,$(tput setaf 1)&$(tput sgr0),g" A.log

toda a linha desaparece e quando eu uso

sed -i "s,^%.*,$(tput setaf 1)&$(tput sgr0),g" A.log

apenas o primeiro caractere ( % ) fica vermelho.

O que devo fazer?

EDIT: Na verdade, toda a linha não desaparece, eu estava usando more , mas quando eu usei less -R Eu vi isso (com um caractere de controle M) e% na cor vermelha.

 % Invalid input detected at '^' marker.^M
    
por munish 22.03.2013 / 12:18

1 resposta

3

Algo como isso?

sed -i "s/^%.*$/$(tput setaf 1)\0$(tput sgr0)/" A.log 

E use cat -v file para exibir conteúdo sem analisar cores.

    
por 22.03.2013 / 13:56