Quando usar o egrep ao invés do grep?

8
Estou me preparando para uma avaliação do terminal Linux agora, tentei o Google e descobri que a maioria dos recursos está se referindo ao "grep" básico, em vez do mais poderoso "egrep" - bem, pelo menos é o que o professor disse em palestra.

Estou sempre trabalhando com amostras pequenas para que o ajuste de desempenho fique longe demais.

Então, basicamente, eu gostaria de saber se há alguma área em que devo mudar para o egrep para fazer isso de uma maneira melhor? É seguro trabalhar com o "grep" básico por enquanto? haverá riscos potenciais?

Sinto muito pelo meu conhecimento limitado sobre os comandos shell do Linux, a página man parece um labirinto para mim e honestamente eu não dediquei muito tempo a entender todos os recursos que ambos os comandos fornecem.

    
por Michael Mao 07.04.2010 / 03:53

2 respostas

10

egrep = grep -E

De link

"Match using extended regular expressions. Treat each pattern specified as an ERE, as described in the XBD specification, Extended Regular Expressions . If any entire ERE pattern matches an input line, the line will be matched. A null ERE matches every line."

Portanto, com egrep você pode usar +, ?, | and () .

    
por 07.04.2010 / 04:06
5

egrep está obsoleto. Use grep -E . Observe que grep encontra padrões de sequência para você. Se você quiser fazer alguma coisa com suas strings depois de encontrá-las, então você precisa canalizar para uma ferramenta de processamento de strings como awk (ou o shell). A ferramenta que você deve procurar é awk , pois awk encontra strings para você bem como grep e faz o processamento para você, se necessário. Tem todas as coisas que o grep / sed / etc faz em uma ferramenta útil.

    
por 07.04.2010 / 04:56

Tags