shell-script-pt
[Top][All Lists]
Advanced

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

Re: [shell-script] Apagar linhas com determinado padrão


From: Julio C. Neves
Subject: Re: [shell-script] Apagar linhas com determinado padrão
Date: Wed, 13 May 2009 12:13:58 -0300

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 <address@hidden>

>
>
> 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 <address@hidden<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 <address@hidden<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]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]