imagine q vc tem uma lista ordenada e unica de palavras que vc queira procurar:

$ cat lista
biscoito
tecnologia

veja estes 2 exemplos:

$ cat teste1
eu gosto de biscoito
mas nao gosto de tecnologia

$ cat teste2
eu nao gosto de biscoito
mas eu gosto de quejo

podemos usar o diff
$ grep -of lista teste1 | sort -u | diff - lista >/dev/null && {
  echo contem todas as palavras ;
} || {
  echo nao contem todas as palavras ;
}
contem todas as palavras

$ grep -of lista teste1 | sort -u | diff - lista >/dev/null && {
  echo contem todas as palavras ;
} || {
  echo nao contem todas as palavras ;
}
nao contem todas as palavras

ps: em alguns unixes vc deve usar sort | uniq no lugar do sort -u (-u
é opção GNU)

[]' T
2008/5/2  <[EMAIL PROTECTED]>:
>
>
>
>
>
>
> Olá amigos,
>
>  Gostaria de saber como utilizar o grep para saber se um texto qualquer
>  possui *todas* os argumentos pesquisados. Vou dar um exemplo para ser
>  mais claro.
>  Vamos supor que quero saber quais arquivos possuem as palavras maça,
>  uva e banana.
>  Se eu der um grep "(maça|uva|banana)" vou obter as linhas que casam
>  com *qualquer* um dos parametros, mas o que eu desejo saber é se o
>  arquivo possui as 3 palavras ou não.
>  Pensei em fazer vários grep´s isolados, mas será que existe alguma
>  forma mais compacta???
>
>  Abraços e obrigado.
>
>  Renato
>
>  



-- 
Tiago B Peczenyj
Linux User #405772

http://peczenyj.blogspot.com/
"what does not kill us makes us stronger"

Responder a