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.
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
Tags colors linux shell-script