Comando Linux · 3 min read · Sep 14, 2025
Tutorial del comando fgrep de Linux para principiantes (con ejemplos)
Mientras que grep es un comando de Linux bien conocido (ya lo hemos cubierto en detalle), ¿sabías que existen dos variantes diferentes de esta herramienta? Sí, estas son egrep y fgrep. En este tutorial, discutiremos la última (fgrep) utilizando ejemplos fáciles de entender. Pero antes de hacer eso, vale la pena mencionar que todos los ejemplos e instrucciones mencionados en este tutorial han sido probados en Ubuntu 16.04LTS.
Comando fgrep de Linux
Si echas un vistazo a la documentación oficial, la página del manual para el comando grep dice que fgrep no es más que grep -F. También dice que variantes como fgrep y egrep solo se proporcionan por compatibilidad hacia atrás. Tocaré estos detalles más adelante en este tutorial.
Mientras tanto, aquí está la sintaxis de fgrep (que es la misma que la de grep):
grep [OPTIONS] PATTERN [FILE...]Y aquí está cómo la página del manual del comando grep explica la herramienta:
grep busca en los archivos de entrada nombrados FILE las líneas que contienen una coincidencia con el PATTERN dado. Si no se especifican archivos, o si se da el archivo “-”, grep busca en la entrada estándar. Por defecto, grep imprime las líneas coincidentes.Los siguientes ejemplos en formato de preguntas y respuestas deberían darte una mejor idea de cómo funciona fgrep.
P1. ¿En qué se diferencia fgrep de grep y egrep?
El comando fgrep se diferencia de grep y egrep en el sentido de que interpreta PATTERN como una lista de cadenas fijas (en lugar de expresiones regulares), separadas por saltos de línea.
Dado que se dice que es lo mismo que grep -F, aquí está cómo un experto explicó la opción -F de grep en StackExchange:
El interruptor `-F` cambia grep a un modo diferente donde acepta un patrón para coincidir, pero luego divide ese patrón en una cadena de búsqueda por línea y realiza una búsqueda OR en cualquiera de las cadenas sin hacer ninguna coincidencia de patrón especial.P2. ¿Cómo usar fgrep?
Para entender el uso de fgrep, primero tomemos un ejemplo básico. Supongamos que hay un archivo (file1) que contiene el siguiente contenido:

Y hay otro archivo (words.txt) que contiene una lista de palabras que queremos buscar en file1.

Así que aquí está cómo puedes usar fgrep para realizar esta búsqueda:
fgrep -f words.txt file1
Así que puedes ver que las palabras que se encontraron fueron resaltadas en rojo. Ahora algunos de ustedes pueden argumentar que eso es lo que también haría grep y egrep en este caso, entonces ¿en qué se diferencia fgrep?
Primero, sí, tienes razón. El comando grep y egrep también producirían una salida similar:

Pero la diferencia será clara en caso de que file1 y words.txt contengan los siguientes contenidos (observa los caracteres especiales dentro de las palabras):

Aquí, egrep y grep fallarán en encontrar todas las palabras:

Pero fgrep funcionará como se esperaba:

P3. ¿Realmente no hay diferencia entre fgrep y grep?
Según la documentación oficial, no hay ninguna diferencia entre fgrep y el comando grep -F. Sin embargo, se informa que hay una diferencia importante entre las dos herramientas: el algoritmo de coincidencia de cadenas que utilizan. Mientras que fgrep utiliza el algoritmo Aho-Corasick, grep hace uso de una versión modificada de Commentz-Walter.
“Esto significa que grep tiene una complejidad en el peor de los casos de O(mn) mientras que fgrep es en el peor de los casos O(m+n)”, dice un experto en los foros de StackExchange.
Conclusión
Como es evidente, el comando fgrep no es difícil de entender y usar. En cuanto a la diferencia entre fgrep y grep -F, aunque ya hemos señalado los puntos en P3, creemos que este problema no debería preocupar a una gran parte de los usuarios. En caso de que tengas dudas, o tengas una consulta relacionada con fgrep, compártela con nosotros dejando un comentario a continuación.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.