[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[shell-script] grep
From: |
Julio Cezar Neves - DISB.O |
Subject: |
[shell-script] grep |
Date: |
Thu, 17 Aug 2000 16:53:11 -0300 |
> @ 16/8, Julio Cezar Neves - DISB.O:
> > Quando dei a solução com egrep, estava apenas "universalizando" a
> resposta.
> > Inúmeros sabores Unix, dentre eles o SVR4 e SCO só reconhecem a síntaxe
> do
> > grep proposta com o uso da opção -e, porém esta opção invialiliza
> outras.
>
> svr4 E sco? até onde eu sabia svr4 é uma versão do sco e não
> outro produto...
>
> grep -e é o grep usando a mesma gama de expressões regulares do
> egrep, aí tanto faz usar um quanto o outro.
>
> a solução que propus é com o grep normal, sem o -e, a única
> diferença é que precisa escapar com a \ a alternância |, nada mais.
>
> grep 'isso\|aquilo\|aquele outro'
>
> ou seja, 'isso' ou 'aquilo' ou 'aquele outro'
> com grep -e você pode fazer sem escapar:
>
> grep -e 'isso|aquilo|aquele outro'
>
> mas dá na mesma, só que o primeiro não depende da existência da
> opção -e.
>
Veja só este teste realizado sob o SVR4:
Prompt> grep -l 'echo\|tput' *.sh
Prompt> egrep -l '(echo|tput)' *.sh
deleval.sh
dicas.sh
langoni.sh
listaord.sh
...
...
transpro.sh
> > Quanto aos parênteses, realmente são opcionais, mas costumo usá-los
> somente
> > para uniformizar e facilitar a manutenção dos scripts.
>
> uniformizar? bem, já que estamos falando de versões de grep,
> algumas versões primeiro tiveram suporte ao \| e só depois (ou
> não até hoje) tiveram suporte a quantificação dos parênteses
> ()*, então seu uso é desnecessário, visto que o único motivo
> para seu uso, seria quantificá-lo...
>
Uniformizar a elaboração de scripts dentro da empresa, desta forma
facilitando a manutenção.
> > > De: # aurelio marinho jargas
> [SMTP:address@hidden]
> > > @ 16/8, Julio Cezar Neves - DISB.O:
> > > > Repare no comando abaixo que estou usando o comando egrep (extended
> > > grep) e
> > > > não o grep.
> > >
> > > o anderson pediu solução com o grep e não com o egrep.
> > > mesmo com o egrep os parênteses são desnecessários (nesse caso)
> > >
> > > > prompt> egrep 'str1|str2|...|strn)' arquivo
> > >
> > > > > De: # aurelio marinho jargas
> > > [SMTP:address@hidden]
> > > > > @ 16/8, Anderson Montenegro dos Santos:
> > > > > > como faco para o grep procurar num arquivo as linhas que tenham
> uma
> > > > > palavra
> > > > > > ou outra
> > > > >
> > > > > grep 'palavra1\|outras palavras com espaço em branco\|palavra3'
> > > arquivo
> > > > >
> > > > > (não precisa dos parênteses pois a concatenação tem precedência
> > > > > sobre a alternância '|' - que deve ser escapada no grep)
>
>
> --
> s·:(·>(·×^a]×http://www.verde666.org×^[:wq
>
>
>
>
> Inscrição: address@hidden
>
> Sair da lista: address@hidden
>
> Banco Dados: http://www.egroups.com/group/shell-script
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [shell-script] grep,
Julio Cezar Neves - DISB.O <=