[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: