[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] conjunção de comandos grep usando uma lista
From: |
Sergio Nery Simoes |
Subject: |
Re: [shell-script] conjunção de comandos grep usando uma lista |
Date: |
Sun, 24 Dec 2006 12:04:15 -0200 |
Olá Jorge,
A solução anterior cobre o caso de palavras com um prefixo comum.
Porém, caso as palavras sejam não tenham um prefixo comum, você pode usar
uma EXPREG com agrupamento e "ou":
ER="(palavra1|palavra2|palavra3|palavra4)"
grep -vE "$ER" $ARQUIVO
outro exemplo:
ER="(bash|awk|sed|perl|python)"
grep -vE "$ER" $ARQUIVO
Att,
Sergio.
Em 24/12/06, Jorge Barros de Abreu <address@hidden> escreveu:
>
> Olá.
>
> Atualmente tenho um trecho de código que está dessa forma:
>
> LIST="palavra1 palavra2 palavra3 palavra4"
> cat $ARQUIVO |\
> grep -v "palavra1" |\
> grep -v "palavra2" |\
> grep -v "palavra3" |\
> grep -v "palavra4" > relatorio.txt
>
> Eu gostaria de fazer algo assim:
> LIST="palavra1 palavra2 palavra3 palavra4"
> cat $ARQUIVO | for i in LIST do grep -v $i done > relatorio.txt
>
> O objetivo da mudança é restringir a alteração a um lugar somente. Da
> forma
> como está atualmente em caso de alteração tenho de modificar em dois
> lugares
> ficando a possibilidade de erro aumentada.
>
> Qual a forma correta de fazer isso?
>
> Obrigado.
> --
> Data Estelar 2454093.741690
> http://usr.solar.com.br/~ficmatin <http://usr.solar.com.br/%7Eficmatin>
> Desejo-lhe Paz, Vida Longa e Prosperidade.
> São Bem Vindas Mensagens no Formato Texto Genérico com Acentos.
>
>
>
[As partes desta mensagem que não continham texto foram removidas]