Diferencia entre el comando grep y fgrep

El filtro grep busca en un archivo un patrón particular de caracteres y muestra todas las líneas que contienen ese patrón. El filtro fgrep busca strings de caracteres fijos en un archivo o archivos.

Sintaxis del comando grep:

grep [options] pattern [files]

Sintaxis del comando fgrep:

fgrep [options] pattern [files]

La principal diferencia entre ambos comandos es:

  • Algoritmo de coincidencia de strings utilizado por ellos.
  • fgrep siempre usa el algoritmo Aho-Corasick que tiene la peor complejidad O(m+n).
  • El comando grep siempre usa la versión modificada del algoritmo Commentz-Walter que tiene una complejidad O(mn) en el peor de los casos.
  • El comando fgrep interpreta el PATRÓN como una lista de strings fijas separadas por saltos de línea. Pero grep siempre se interpreta como expresiones regulares.

Similitud entre ambos comandos

Considere el siguiente archivo llamado para2

Hi, are you using geeksforgeeks for learning computer science concepts.
Geeksforgeeks is best for learning.

Considere las siguientes palabras :

are
using
geeksforgeeks
learning
concepts

Usando el comando grep:

$grep -f word para

Producción:

Hi, are you using geeksforgeeks for learning computer science concepts.
Geeksforgeeks is best for learning.

Usando el comando fgrep:

$fgrep -f word para

Producción:

Hi, are you using geeksforgeeks for learning computer science concepts.
Geeksforgeeks is best for learning.

Diferencia entre ambos comandos.

Considere el siguiente archivo :

Hi, @re you usin.g geeks*forgeeks for learni\ng computer science con/cepts.
Geeks*forgeeks is best for learni\ng.

Considere las siguientes palabras :

@re
usin.g
geeks*forgeeks
learni\ng
con/cepts

Usando el comando grep:

grep -f word para

Producción:

Hi, @re you usin.g geeks*forgeeks for learni\ng computer science con/cepts.

Usando el comando fgrep:

fgrep -f word para

Producción:

Hi, @re you usin.g geeks*forgeeks for learni\ng computer science con/cepts.
Geeks*forgeeks is best for learni\ng.

Publicación traducida automáticamente

Artículo escrito por everythingispossible y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *