Re: Erro ao tentar substituir via shell
2006/12/17, Faria <digolinopage@yahoo.com.br>:
Oi Fernando,
Isso resolveu. Mas e quando eu pego uma váriavel
string pelo dialog e faço o sed da seguinte maneira:
sed -i "$s/192.168.1.0/$valor/g" $INPUTDB/pg_hba.conf
Não funciona, tenho de colocar da seguinte forma:
192.168.1.1\/24, isso na janela de um dialog, o certo
seria o usuário digitar 192.168.1.1\24.
Tem como resolver isto ?
Att,
Faria
Faria,
O sed aceita outros caracteres além do '/' como separador dos comandos.
Ou seja, o seu comando sed poderia ser, por exemplo:
sed -i "$s#192.168.1.0#$valor#g" $INPUTDB/pg_hba.conf
Com o sinal # no lugar do / para separar os campos do comando.
Assim, você pode fazer substituições que tenham a barra no texto (como
caminhos para arquivos, ou o IP, no seu caso), sem ter que usar o
escape para as barras.
Outros caracteres também podem ser usados.
O mesmo vale para a substituição no VIM.
--
Krishnamurti Lelis Lima Vieira Nunes
Reply to: