Diferença entre grep e egrep [RESOLVIDO]

1. Diferença entre grep e egrep [RESOLVIDO]

Alesson David Gomes Nunes
alessondavid

(usa CentOS)

Enviado em 15/02/2016 - 18:07h

Estou com uma dúvida, mesmo na descriçao help do grep e egrep o -c terem a mesma funcionalidade, quando usei
egrep -c '(vmx|svm)' /proc/cpuinfo 

grep -c '(vmx|svm)' /proc/cpuinfo 


retornam saidas diferentes, o primeiro retorna 8 que é o valor real, mas o grep retorna zero, não encontrando o padrão.
Alguém sabe me explicar o por que disso.


  


2. MELHOR RESPOSTA

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 16/02/2016 - 00:11h

Olá,

Sobre a diferença,
egrep (o mesmo que grep -E) "entende/aceita" expressões regulares. o grep sozinho (sem - E) não.

No seu comando: egrep -c '(vmx|svm)' /proc/cpuinfo vc esta usando o regex "(vmx|svm)". Então, quando usa a mesma expressão com o grep sozinho ele NÃO entende o regex e faz a busca pela string vmx seguido do caractere pipe, seguido da string svm. Então, como esta usando o parametro -c (count) ele retorna zero ,pois a qtd de ocorrencia é zero (nada).

Vamos analisar seu comando:
egrep : Grep com opçao regex ativada
-c : - Retorna a quantidade de ocorrências encontradas
'(vmx|svm)' : Regex, que fara a busca por vmx OU svm
/proc/cpuinfo: Arquivo a ser processado.

Sacou?


Uma vida sem desafios não vale a pena ser vivida.
Sócrates

---

3. Re: Diferença entre grep e egrep [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 15/02/2016 - 23:21h

alessondavid escreveu:

Estou com uma dúvida, mesmo na descriçao help do grep e egrep o -c terem a mesma funcionalidade, quando usei
egrep -c '(vmx|svm)' /proc/cpuinfo 

grep -c '(vmx|svm)' /proc/cpuinfo 


retornam saidas diferentes, o primeiro retorna 8 que é o valor real, mas o grep retorna zero, não encontrando o padrão.
Alguém sabe me explicar o por que disso.


_______________________________________________
Para que o grep "entenda" REGEX,
você deve usar:
grep -Ec '(vmx|svm)' /proc/cpuinfo 


Para mais informações, veja:
https://goo.gl/SVSnma

Att.:
Marcelo




4. Re: Diferença entre grep e egrep [RESOLVIDO]

Alesson David Gomes Nunes
alessondavid

(usa CentOS)

Enviado em 16/02/2016 - 08:26h

tonyhts escreveu:

Olá,

Sobre a diferença,
egrep (o mesmo que grep -E) "entende/aceita" expressões regulares. o grep sozinho (sem - E) não.

No seu comando: egrep -c '(vmx|svm)' /proc/cpuinfo vc esta usando o regex "(vmx|svm)". Então, quando usa a mesma expressão com o grep sozinho ele NÃO entende o regex e faz a busca pela string vmx seguido do caractere pipe, seguido da string svm. Então, como esta usando o parametro -c (count) ele retorna zero ,pois a qtd de ocorrencia é zero (nada).

Vamos analisar seu comando:
egrep : Grep com opçao regex ativada
-c : - Retorna a quantidade de ocorrências encontradas
'(vmx|svm)' : Regex, que fara a busca por vmx OU svm
/proc/cpuinfo: Arquivo a ser processado.

Sacou?


Uma vida sem desafios não vale a pena ser vivida.
Sócrates

---


Obrigado por responderem, realmente mesmo conhecendo o conceito de regex nao entendia exatamente a aplicação dela, na verdade não percebi que '(vmx|svm)' era um padrão regex, achei que era apenas uma busca de ocorrência mas passou batido ou "OU".


5. Re: Diferença entre grep e egrep [RESOLVIDO]

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 16/02/2016 - 12:47h

Regex é extremamente poderosa.
Caso queira uma boa doc, segue: http://aurelio.net/regex/

abs,



Uma vida sem desafios não vale a pena ser vivida.
Sócrates

---


6. Re: Diferença entre grep e egrep [RESOLVIDO]

Alesson David Gomes Nunes
alessondavid

(usa CentOS)

Enviado em 16/02/2016 - 12:55h

tonyhts escreveu:

Regex é extremamente poderosa.
Caso queira uma boa doc, segue: http://aurelio.net/regex/

abs,



Uma vida sem desafios não vale a pena ser vivida.
Sócrates

---


Valeu tonyhts, vou ler com certeza.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts