[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]
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- RE: Filtrar arquivo: grep -v micróbio,
Rodolfo Villanova <=