On Fri, 17 Jan 2003, Anderson Lizardo wrote:
> Marcus Lima <[EMAIL PROTECTED]> escreveu:
> > > > O sed n�o edita arquivos.
> > (...)
> > sed significa Stream Editor, e com o Editor no nome esperasse que ele
> > edite
> > arquivos.
> > (...)
> > sed "s/string1/string2/g" < arquivo > arquivo2
>
> O arquivo original continuou n�o editado... O que voc� fez foi abrir
> "arquivo", pass�-lo pelo "filtro" do sed, enviando o resultado para
> "arquivo2". Sem edi��es (ao meu ver). Agora, vamos tentar realmente
> editar o arquivo "arquivo" com o sed:
>
> bash$ cat arquivo
> string1
> bash$ sed "s/string1/string2/g" < arquivo > arquivo
> bash$ cat arquivo
> bash$
>
> N�o funciona ;-). N�o quer utilizar o Perl para isso? Ent�o use o ed.
Claro que funciona, pense bem, se esta fazendo uma modifica��o em um
arquivo, modifica��o essa que pode n�o ser exatamente o que ser quer.
Se o altere��o for feita em cima do mesmo arquivo, se se a mesma ficar de
forma n�o desejada, como e que fica, onde ta o original, mas esse era o
original.
Mesmo e perl o bom senso diz para n�o gravar as altera��es, que n�o se
sabe se vai estar correto, no mesmo arquivo.
Faria isso assim:
sed "s/string1/string2/g" arquivo.txt >arquivo.tmp
less arquivo.tmp
ficou do jeito desejado?
sim: rm arquivo.txt && mv arquivo.tmp arquivo.txt
n�o: goto sed
Perl nesse caso e util se tiver dezenas de strings para trocar, um ou
outro o sed e mais facil e rapido de se fazer.
Paulino
_________________________________ ________________________________________
Paulino Kenji Sato | Nobel online
http://www.nobel.com.br | Maringa Pr Brasil
Assinantes em 18/01/2003: 2240
Mensagens recebidas desde 07/01/1999: 197586
Historico e [des]cadastramento: http://linux-br.conectiva.com.br
Assuntos administrativos e problemas com a lista:
mailto:[EMAIL PROTECTED]