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

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

RE: Filtrar arquivo: grep -v micróbio


From: Rodolfo Villanova
Subject: RE: Filtrar arquivo: grep -v micróbio
Date: Fri, 30 Jun 2000 19:41:39 -0300

Como vai, prof. Julio,

> -----Original Message-----
> From: Julio Cezar Neves - DISB.O
> [SMTP:address@hidden]
> Sent: Friday, June 30, 2000 12:33 PM
> To:   address@hidden
> Subject:      RES: [shell-script] Filtrar arquivo: grep -v micróbio
> 
> Grande Rodolfo, meu amigo, a família de comandos grep possui, que eu
> conheça, 3 membros, a saber:
> 
> - O famigerado grep: Que aceita uma série de padrões de comparação;
> - O fgrep (fast grep): Que só aceita os padrões habituais
> (metacaracteres);
> - O egrep (extended grep): O mais completo, porém mais lento. Te dá chance
> de agrupar os argumentos de pesquisa com o uso de parênteses e fazer o
> "ou" lógico com barras verticais. Assim, creio que a linha abaixo
> desturvará a tua água:
> 
> cat arq_agua_suja | egrep -v "(microbio1|microbio2|microbion)" >
> arq_aqua_limpa
> 
> Julio
> 
        Mataste a charada na mosca, amigão!
        Uma coisa que me chamou a atenção foi que não pode haver espaços em
branco entre os "pipes", senão os caracteres de espaço passam a ser
considerados com parte do string a ser filtrado.
        A anta aqui vai aprendendo script shell um pouco + cada dia.

        Abraços e
        Obrigado +1x.


        Quanto ao amigo Paulo Pinheiro,

        -----Original Message-----
        From:   Paulo Henrique Rodrigues Pinheiro
[SMTP:address@hidden]
        Sent:   Thursday, June 29, 2000 5:37 PM
        To:     address@hidden
        Subject:        Re: [shell-script] Filtrar arquivo: grep -v microbio

        Se eu bem entendi é algo como:

        cat  arq_agua_suja  |  grep -v  'microbio1 \|  microbio2  \|
microbio3  \|  microbio4'  >  arq_agua_limpa

        > cat  arq_agua_suja  |  grep -v microbio1  |  grep -v microbio2  |
grep -v > microbio3  |  grep -v microbio4  >  arq_agua_limpa

        --
        Paulo Henrique Rodrigues Pinheiro <address@hidden>

        segui tua sugestão. Não testei em outros "shells", mas no sh não
consegui fazer funcionar seguindo a fórmula sugerida.
        Agradecimento fraterno pela contribuição, amigo.


        Quanto à sugestão do Guilherme:

        -----Original Message-----
        From:   Guilherme [SMTP:address@hidden]
        Sent:   Thursday, June 29, 2000 5:31 PM
        To:     address@hidden
        Subject:        Re: [shell-script] Filtrar arquivo: grep -v microbio

        faça assim:

        cat  arq_agua_suja  |  grep -v microbio[0-x] > arq_agua_limpa

        sendo que se x=9, ele vai eliminar microbio1, microbio2... microbio9
pode colocar letras tb dentro dos colchetes. acho que um "man bash" vai te
ajudar.

        Guilherme

        Não cheguei a testá-lo, tendo em vista que, como já havia explanado,
os strings pesquisados eram bastante diferentes um do outro.

        Obrigado pela contribuição, mesmo assim.

        Rodolfo 


> > ----- Mensagem original -----
> > De:         Rodolfo Villanova [SMTP:address@hidden]
> > Enviada em:         quinta-feira, 29 de junho de 2000 16:50
> > Para:               address@hidden
> > Assunto:            [shell-script] Filtrar arquivo: grep -v microbio
> > 
> > People,
> > 
> > Alguem conhece um método mais eficiente para filtrar um arquivo,
> excluindo
> > diferentes linhas indesejáveis sem precisar utilizar vários pipes
> > sucessivos
> > de "grep -v" ?  O diacho é o tempo de resposta que cai muito a partir do
> > 2o.
> > "pipe".
> > 
> > Exemplo: 
> > 
> > cat  arq_agua_suja  |  grep -v microbio1  |  grep -v microbio2  |  grep
> -v > microbio3  |  grep -v microbio4  >  arq_agua_limpa
> > 
> > Talvez a resposta seja um "ovo de Colombo" na frente do meu nariz, mas o
> > aprendiz que vos escreve não achou resposta no curto prazo.
> > 
> > Alguma chance?
> > 
> > Obrigado por oxidarem fosfato com essa charada (será que tem resposta?)
> > 
> > Rodolfo Villanova
> 


[Non-text portions of this message have been removed]



reply via email to

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