[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] grep e sed com negação de palavra ou invés de negação
From: |
Tiago Peczenyj |
Subject: |
Re: [shell-script] grep e sed com negação de palavra ou invés de negação de caracter |
Date: |
Wed, 13 Oct 2010 14:21:56 -0300 |
a melhor forma de negar palavras ou sequencias mais complexas é invertendo a
logica na programa/linguagem/algoritmo.
por exemplo, se vc faz algo como
if ($conteudo .operador. /expressao/) { alguma coisa }
bastaria vc fazer
if (NOT $conteudo .operador. /expressao/) { alguma coisa }
Bom, como fazer com sed e grep?
1) grep possui a opcao -v que inverte a busca
ex: grep -v rodolfo arquivo.txt # mostra tudo o que NAO tem rodolfo
2) sed tem a opcao ! ao final da expressao
ex: sed -n '/rodolfo/!p' arquivo.txt # mesma coisa que o exemplo acima
boa sorte
2010/10/13 Vanderlei <address@hidden>
>
>
> Boa tarde pessoal.
>
> Poderiam por favor me ajudar na seguinte questão. É possível montar um
> padrão REG-EXP, onde se utilize a negação de palavra, similar a negação de
> caracter ( exemplo: *[^a-z]** )?
>
> Resultado do grep destacado em verde
>
> Comando 1) $~>echo "insert into tab1 values (10) insert into tab2
> values(20)" | grep -E 'insert.*values'
> insert into tab1 values (10) insert into tab2 values(20)
> Comando 2) $~>echo "insert into tab1 values (10) insert into tab2
> values(20)" | grep -E 'insert[^)]*values'
> insert into tab1 values (10) insert into tab2 values(20)
>
> Eu gostaria de obter o resultado do "Comando 2" usando o comando *grep* e *
> sed* e fazendo uso da *negação* da palavra *values* no lugar de *[^)]**
>
> Obrigado desde já,
> Vanderlei.
>
> --
> by Vanderlei (pdatabase)
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
--
Tiago B. Peczenyj
Linux User #405772
http://pacman.blog.br
[As partes desta mensagem que não continham texto foram removidas]