paulo1205
(usa Ubuntu)
Enviado em 09/11/2012 - 17:42h
Se suas strings não contiverem o caráter barra ("/"), você pode simplesmente fazer algo como
sed "s/$var1/$var2/".
Se, no entanto, você suspeitar que as strings algum dia possam conter barras (ou outro caráter que vocẽ use como separador, já que o
sed permite o uso de separadores diferentes do padrão), você terá um problema bem difícil de resolver com o
sed.
Eu sempre acho melhor usar Perl do que
sed. Se o seu sistema tiver Perl instalado, a forma mais segura de você trocar uma string por outra seria algo parecido com o que se segue (mas note que mesmo com Perl a solução não é muito bonita).
VAR1='alguma coisa'
VAR2='um negocio e/ou outro $$$$ qualquer'
cat <<EOM | perl -pe 'BEGIN { $v1=quotemeta(shift(@ARGV)); $v2=shift(@ARGV); } s/$v1/$v2/;' "$VAR1" "$VAR2"
alguma coisa
alguma coisa
1, 2, 3...
Ele abriu mao de alguma coisa.
EOM