[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Verificar se TODAS as palavras existem no texto
From: |
Tiago Barcellos Peczenyj |
Subject: |
Re: [shell-script] Verificar se TODAS as palavras existem no texto |
Date: |
Fri, 2 May 2008 11:39:37 -0300 |
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 <address@hidden>:
>
>
>
>
>
>
> 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"