Em Qui 20 Mai 2004 11:39, Danilo Vasconcelos de O. e Silva escreveu:
> Senhores, e qual a diferen�a de usar o grep para o egrep?

O egrep implementa express�es regulares "estendidas", onde uma s�rie de
caracteres adquire significado especial, ou seja, viram operadores.

Nas express�es regulares simples, esses mesmos caracteres t�m de ser
escapeados para serem operadores. Vide exemplos:

# filtra linhas com uma ou mais ocorr�ncias seguidas da string "bo"
cat arquivo.txt | grep  '\(bo\)\+'
cat arquivo.txt | egrep  '(bo)+'

# filtra linhas com 2 ou mais ocorr�ncias seguidas da string "bo"
cat teste.txt | grep '\(bo\)\{2\}'
cat teste.txt | egrep '(bo){2}'

Para express�es regulares complexas, a vers�o do egrep � sem d�vida mais
leg�vel. O reverso da moeda � que, se quisermos o caractere literal, "+" por
exemplo, � preciso escape�-lo no egrep, enquanto isso n�o era necess�rio no
grep:

# filtra linhas com a string literal "o+"

cat arquivo.txt | grep  'o+'
cat arquivo.txt | egrep  'o\+'
---------------------------------------------------------------------------
Esta lista � patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br

Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br
Regras de utiliza��o da lista: http://linux-br.conectiva.com.br
FAQ: http://www.zago.eti.br/menu.html

Responder a