Você está escapando do T
de TMOUT
:
sed 's/.*export.*\TMOUT./&\FGOLD='echo "3[1;32m"'/' pro
^
|-----??
Isso não deve fazer muita diferença, mas é inútil. Então, você também está combinando um caractere após TMOUT
, mas seu arquivo não tem nenhum ( sed
não corresponderá à nova linha final). Tente isso:
sed 's/export TMOUT./&\nFGOLD='echo "\033[1;32m"'/' file
Eu não tenho um não-GNU sed
para testar isso e não tenho certeza se o \n
funcionará na substituição. Se isso não funcionar, tente adicionar um \
e, em seguida, pressionando Enter para obter a nova linha:
sed 's/export TMOUT/&\ ## hit enter and continue writing on a new line
FGOLD='echo "\033[1;32m"'/' file
Então, outras opções são:
perl -pe 's/export TMOUT/$&\nFGOLD=\'echo "\033[1;32m"\'/' file
Ou awk
:
awk '{
if(/export TMOUT/){a=1}
{
print;
if(a==1){
print "FGOLD='echo \"\033[1;32m\"'";
a=0
}}}' file