Fala Flávio,
sem dúvida alguma a sua solução é melhor. Além de mais rápida ela preserva o
arquivo original.

Sei que vão dizer que a proposta que foi feita de usar o sed com a opção
-i.veio preserva o arquivo "véio". Mas veja, dentro de um loop, o sed será
executado diversas vezes e a cada uma dessas vezes o arquivo.veio será
atualizado, isto significa que ao fim do loop o arquivo.veio será exatamente
igual ao arquivo final, exceto pela última linha editada.
-- 
Abração,
Julio
*Cursos de Shell e Zenity nos finais de semana:
- Em SP ligue (11) 2125-4747;
- Em DF ligue (61) 3223-3000 (Turma prevista para 09/05);
- No RJ darei um treinamento em julho (p/ detalhes ligue (21) 2561-0867);
- Turmas fechadas em outras cidades ligue (21) 8112-9988*

2009/5/13 Flavio Junior <bil...@gmail.com>

>
>
> Nesse teu caso parece ser mais facil usar o grep -vf excluir.txt
> original.txt > limpo.txt
>
> --
>
> Flávio do Carmo Júnior aka waKKu
>
> 2009/5/13 Cléoson Barreto 
> <cleoson.barr...@gmail.com<cleoson.barreto%40gmail.com>
> >
>
>
> >
> >
> > Olá!
> >
> > Para que o sed efetue as mudanças no próprio arquivo que está sendo
> > utilizado, você deve usar o parâmetro -i. A sua linha ficaria assim:
> >
> > for i in $(cat rg_log_carga_dados-sev.csv);do sed -i.old "/$i/d" passwd ;
> > done
> >
> > O que fiz:
> > -removi a aspa simples;
> > -apaguei o "echo" que tinha antes do "sed";
> > -inclui o parâmetro "-i" com um ".old". Assim, você faz as alterações no
> > arquivo passwd e mantém uma cópia dele com a extensão ".old"
> (passwd.old).
> >
> > Sobre o parâmetro -i:
> > "*-i[SUFFIX], --in-place[=SUFFIX] edit files in place (makes backup if
> > extension supplied)*"
> >
> > Não testei aqui, mas acho que deve funcionar.
> >
> > []'s
> > Cléoson.
> > http://farinhadigital.blogspot.com/
> >
> > 2009/5/13 thiagomz 
> > <thiagozerbin...@yahoo.com.br<thiagozerbinato%40yahoo.com.br>
> <thiagozerbinato%40yahoo.com.br>
> > >
> >
> >
> > > Leonardo escreveu:
> > > > Olá a todos,
> > > >
> > > > Tenho um arquivo em modo texto e gostaria de apagar todas as linhas
> com
> > > um
> > > > determinado IP X.Y.Z.W . Como eu poderia fazer isso?
> > >
> > > Como eu coloco isso em um loop, ou seja, ler um arquivo com a lista de
> > > valores que devem ser apagados.
> > >
> > > Tentei...
> > >
> > > for i in $(cat rg_log_carga_dados-sev.csv);do echo sed "'/$i/d'" passwd
> > > ; done
> > >
> > > Mas nao ta rolando...
> > >
> > > att.
> > >
> > > thiagomz
> > >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]

Responder a