Cómo usar el comando FGREP para buscar cadenas en Linux

Cómo usar el comando FGREP para buscar cadenas en Linux

Breve: En esta guía para principiantes, discutiremos algunos ejemplos prácticos del comando FGREP. Al final de esta guía, los usuarios podrán realizar operaciones de búsqueda de texto de manera eficiente utilizando la interfaz de línea de comandos.

La búsqueda de texto es una de las operaciones más comúnmente realizadas. Sin embargo, esta simple tarea se convierte rápidamente en mucho tiempo si los usuarios no están familiarizados con las herramientas correctas. En Linux, hay varias utilidades de filtro de texto como AWK, SED, cortar, etc.

Sin embargo, en Linux, fgrep es la utilidad más preferida para la búsqueda simple de texto. En esta guía, vamos a discutir algunos ejemplos de práctica del fgrep comando que se puede usar en la vida cotidiana.

El fgrep El comando en Linux cae bajo la familia del comando GREP. Sin embargo, se usa para buscar el patrón de cadena fijo en lugar de expresiones regulares. Por lo tanto, el nombre del comando es fgrep (Grep Grep).

La sintaxis del fgrep El comando es similar a los otros comandos de la familia GREP:

$ FGREP [Opciones] Patrones [archivos] 

Para comenzar, creemos un archivo de texto sin formato con el siguiente contenido para usar un ejemplo:

Input $ Cat.TXT 
Ver contenido del archivo en Linux

Aquí, podemos ver que el archivo de texto está listo con el contenido de la muestra. Ahora discutamos algunos ejemplos comunes del fgrep comando en los próximos ejemplos.

1. Cómo FGREP es diferente a los comandos GREP y EGREP?

Como su nombre indica, el fgrep El comando se usa para buscar los patrones de cadena fijos. Interpreta el patrón como una cadena fija en lugar de una expresión regular. Por lo tanto, realiza la operación de búsqueda de una manera eficiente en el tiempo.

Para comprender la diferencia, usemos un punto (.) personaje con el comando GREP.

Esta simple expresión regular coincide con cualquier personaje, excepto el final de la línea:

$ Grep HA. aporte.TXT 
Buscando un solo carácter con Grep

En la salida anterior, podemos ver que el punto (.) El personaje coincidió con el texto halcón, sombrero, y tiene.

Ahora, usemos el mismo patrón con el fgrep comandar y observar el resultado:

$ fgrep ha. aporte.TXT 

En la salida anterior, podemos ver que el comando no puede encontrar el patrón dado.

Esto sucede porque el fgrep El comando no reconoce expresiones regulares y trata de buscar el patrón no existente - "Ja.".

[También le puede gustar: ¿Cuál es la diferencia entre Grep, Egrep y FGrep en Linux?? ]

2. Cómo buscar un patrón en un archivo

Comencemos con el ejemplo básico en el que buscaremos un profesional de cadenas en un aporte.TXT archivo:

$ FGREP Professionals Input.TXT 
Buscar patrón en el archivo

Como podemos ver, la coincidencia de patrones tiene éxito en dos lugares y está resaltado en color rojo.

3. Cómo establecer el color de salida GREP para patrones coincidentes

En el ejemplo anterior, vimos que, por defecto, el patrón coincidente se resalta en color rojo. Sin embargo, podemos alterar este comportamiento asignando un valor diferente al Grep_color Variables de entorno.

Asignemos el valor 32 hacia Grep_color Variable de entorno para resaltar el patrón coincidente en color verde:

$ Export Grep_Color = 32 $ FGREP Professionals Enputado.TXT 
Establezca el color de salida GREP para patrones coincidentes

Ahora, antes de pasar al siguiente ejemplo, desanimar el Grep_color Variable de entorno para habilitar el comportamiento predeterminado:

$ unset grep_color 

4. Cómo buscar múltiples patrones en un archivo

A veces, necesitamos realizar una coincidencia de patrones para múltiples cuerdas. En tales casos, podemos proporcionar los patrones del archivo de texto en lugar del argumento de la línea de comando.

Creemos un archivo de texto que contenga múltiples patrones en una línea separada:

Patrón de $ CAT.TXT sitio web de profesionales 

Ahora, usemos este archivo con el -F Opción para la coincidencia de patrones múltiples:

$ FGREP -F Patrón.entrada txt.TXT 
Busque múltiples patrones con FGREP

En la salida anterior, podemos ver que la coincidencia de patrones tiene éxito para las cadenas profesionales y sitio web.

5. Cómo limitar el número de coincidencias en un archivo

Por defecto, el fgrep El comando continúa realizando la coincidencia de patrones hasta que se procese todo el archivo.

Sin embargo, a veces necesitamos limitar el número de partidos. En tales casos, podemos usar el -metro Opción con el comando:

$ fgrep -m 1 aporte de profesionales.TXT TECMINT se inició el 15 de agosto de 2012 por técnicos profesionales y todo el 

En este ejemplo, el fgrep El comando detiene el procesamiento del archivo después de hacer coincidir el primer patrón.

6. Cómo imprimir el nombre del archivo al buscar el patrón

A veces, solo necesitamos encontrar el nombre de los archivos en los que está presente un patrón particular. En tales casos, podemos usar el -l opción del fgrep dominio:

$ FGREP -L PROFESIONALES DE PROFESIONALES.TXT aporte.TXT 

Aquí, podemos ver que el comando solo imprime el nombre del archivo en lugar de las líneas con los patrones coincidentes.

7. Cómo imprimir el nombre del archivo cuando falla la coincidencia de patrones

En el ejemplo anterior, vimos cómo imprimir el nombre del archivo cuando la coincidencia de patrones tiene éxito. Ahora, veamos cómo realizar la operación de una manera inversa.

Intentemos encontrar el patrón no existente en el archivo y observemos el resultado:

$ FGREP -L Entrada de palabras inexistentes.TXT aporte.TXT 

En este ejemplo, usamos el -L Opción del comando que imprime el nombre del archivo cuando la coincidencia de patrones no tiene éxito.

8. Cómo suprimir los mensajes de error

El manejo de errores juega un papel crucial mientras escribe scripts de shell. Sin embargo, en algunos escenarios no críticos, podemos ignorar con seguridad los mensajes de error.

En fgrep, Podemos usar el -s Opción que suprime los errores relacionados con archivos inexistentes o no legibles. Para comprender este comportamiento de una mejor manera, intentemos buscar un patrón en el archivo no existente:

$ FGREP -S Profesionales de archivo inexistente.txt $ echo $? 2 

En la salida anterior, podemos ver que el comando no muestra ningún error en el flujo de error estándar. Sin embargo, la falla es informada por el valor de retorno distinto de cero.

Además de esto, también podemos observar el mismo comportamiento cuando el archivo es ilegible. Entonces, primero, modifique el permiso del archivo utilizando el chmod dominio:

$ chmod 000 entrada.Entrada de txt $ ls -l.TXT 

Ahora, intente buscar el patrón y observar el resultado:

$ FGREP -S PROFESIONALES DE PROFESIONALES.txt $ echo $? 
GREP ignora los mensajes de error

9. Cómo excluir líneas parcialmente emparejadas

En los ejemplos anteriores, vimos que el fgrep El comando realiza una coincidencia parcial. Sin embargo, en algunos casos, necesitamos realizar la coincidencia exacta para toda la línea. En tales casos, podemos usar el -X opción del fgrep dominio.

$ fgrep -nx "El mismo sitio a veces es difícil de encontrar." aporte.TXT 
Encuentre la coincidencia exacta en el archivo

En la salida anterior, la coincidencia de línea exacta ocurre en la línea número 20.

10. Cómo excluir archivos mientras busca recursivamente

A veces, necesitamos omitir ciertos archivos mientras realizamos operaciones de búsqueda. En tales casos, podemos usar el --excluir opción del fgrep dominio.

Para comprender esto, primero cree un directorio y copie algunos archivos de muestra en él:

$ mkdir dir-1 $ cp Entrada.txt dir-1/entrada.Entrada de TXT $ CP.txt dir-1/entrada.Entrada de datos $ CP.txt dir-1/entrada.Maryland 

Ahora, busquemos el patrón en todos los archivos del Dir-1 directorio excepto el ".TXT" Archivos:

$ fgrep -r --exclude *.TXT Professionals Dir-1 
Excluir archivos mientras busca el patrón

En la salida anterior, podemos ver que la coincidencia de patrones se realizó en los archivos con ".Maryland" y ".datos" extensiones.

11. Cómo excluir múltiples tipos de archivos mientras se busca recursivamente

En el ejemplo anterior, vimos cómo excluir archivos con extensiones particulares. Sin embargo, el comando se vuelve largo cuando queremos excluir archivos con múltiples extensiones. En tales casos, podemos proporcionar el patrón de exclusión del archivo en lugar del argumento de la línea de comando:

Entonces, creemos un archivo de texto que contenga múltiples patrones de exclusión en una línea separada:

$ Cat Skip Pattern.TXT *.TXT *.datos 

Ahora, usemos este archivo con el --excluir de opción:

$ fgrep -r --exclude-from skip-patern.TXT Professionals Dir-1 
Excluir múltiples tipos de archivos mientras busca el patrón

Aquí, podemos ver que la coincidencia de patrones se realizó en los archivos con ".Maryland" Solo extensiones.

12. Cómo incluir archivos mientras busca recursivamente

En los ejemplos anteriores, vimos cómo excluir archivos mientras realizamos operaciones de búsqueda de recursiva. Ahora, veamos cómo realizar la operación de una manera inversa.

Usemos el --incluir opción del fgrep comandar realizar una búsqueda en los archivos con el "*.TXT" extensión:

$ fgrep -r -include "*.txt "profesionales dir-1 
Incluya archivos mientras busca el patrón

En la salida anterior, podemos ver que la coincidencia de patrones se omite para los archivos con "*.Maryland" y "*.datos" extensiones.

En este artículo, discutimos algunos ejemplos útiles de la fgrep dominio. Los principiantes pueden usar estos ejemplos en la vida cotidiana para mejorar la productividad mientras trabajan con Linux.

¿Conoces algún otro mejor ejemplo del comando FGREP en Linux?? Háganos saber sus puntos de vista en los comentarios a continuación.