Tutoriales

Cómo encontrar cadenas de texto en archivos usando el comando fgrep

Resumen: en esta guía para principiantes, analizaremos 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 comunes. Sin embargo, esta simple tarea puede consumir mucho tiempo rápidamente si el usuario no está familiarizado con las herramientas correctas. En Linux, existen varias utilidades de filtrado de texto como awk, sed, CorteETC.

Sin embargo, en Linux, fgrep es la utilidad de acceso para búsquedas de texto simples.En esta guía, discutiremos algunos ejemplos prácticos. fgrep Comandos que se pueden utilizar en la vida cotidiana.

Este fgrep El comando en Linux pertenece a la familia de comandos grep. Sin embargo, se utiliza para buscar patrones de cadenas fijas en lugar de expresiones regulares.Entonces el nombre del comando es fgrep (arreglar grep).

gramática fgrep El comando es similar a la otra familia de comandos grep:

$ fgrep [OPTIONS] PATTERNS [FILES]

Primero, usemos el ejemplo creando un archivo de texto sin formato con el siguiente contenido:

$ cat input.txt
Ver el contenido del archivo en Linux

Aquí podemos ver que el archivo de texto está listo para contener contenido de muestra.Ahora analicemos algunos ejemplos comunes. fgrep comandos en los siguientes ejemplos.

1. ¿En qué se diferencia fgrep de los comandos grep y egrep?

Como el nombre sugiere, fgrep Comando para buscar patrones de cadenas fijos. Interpreta patrones como cadenas fijas en lugar de expresiones regulares. Por lo tanto, realiza operaciones de búsqueda de una manera que ahorra tiempo.

Para entender la diferencia, usemos un punto (.) carácter con el comando grep.

Esta expresión regular simple coincide con cualquier carácter individual excepto el final de una línea:

$ grep ha. input.txt
Use Grep para buscar un solo carácter
Use Grep para buscar un solo carácter

En la salida anterior, podemos ver el punto (.) el carácter coincide con el texto qué, sombreroy Tener.

Ahora, usemos el mismo patrón. fgrep Ordena y observa el resultado:

$ fgrep ha. input.txt

En el resultado anterior, podemos ver que el comando no pudo encontrar el patrón dado.

Esto sucede porque fgrep El comando no reconoce las expresiones regulares e intenta buscar un patrón que no existe: “ha.”.

[ You might also like: What’s Difference Between Grep, Egrep and Fgrep in Linux? ]

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

Comencemos con un ejemplo básico en el que buscaremos los profesionales de las cadenas. entrada.txt documento:

$ fgrep professionals input.txt
Buscar patrones en archivos
Buscar patrones en archivos

Como podemos ver, la coincidencia de patrones tiene éxito en dos lugares, resaltados en rojo.

3. Cómo configurar el color de salida Grep del patrón coincidente

En el ejemplo anterior, vimos que, de forma predeterminada, los patrones coincidentes se resaltan en rojo.Sin embargo, podemos pasar el GREP_COLOR Variables de entorno.

vamos a asignar 32 llegar GREP_COLOR Las variables de entorno que coinciden con el patrón se resaltan en verde:

$ export GREP_COLOR=32
$ fgrep professionals input.txt
Establezca el color de salida Grep para el patrón coincidente
Establezca el color de salida Grep para el patrón coincidente

Ahora, antes de pasar al siguiente ejemplo, desactive el color 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 hacer coincidir patrones con varias cadenas. En este caso, podemos proporcionar patrones en archivos de texto en lugar de argumentos de línea de comandos.

Vamos a crear un archivo de texto que contenga múltiples patrones en una sola línea:

$ cat pattern.txt

professionals
website

Ahora, reemplacemos este archivo con -f Múltiples opciones de coincidencia de patrones:

$ fgrep -f pattern.txt input.txt
Use fgrep para buscar múltiples patrones
Use fgrep para buscar múltiples patrones

En el resultado anterior, podemos ver que la coincidencia de patrón de la cadena es exitosa profesionales y sitio web.

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

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

Sin embargo, a veces necesitamos limitar el número de coincidencias.En este caso podemos usar -m Opciones de comando:

$ fgrep -m 1 professionals input.txt

TecMint was started on 15th August 2012 by technical professionals and all the

En este ejemplo, 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 un patrón

A veces, solo necesitamos encontrar los nombres de los archivos donde existe un cierto patrón.En este caso podemos usar -l Opciones fgrep Ordenar:

$ fgrep -l professionals input.txt

input.txt

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

7. Cómo imprimir el nombre del archivo cuando falla la coincidencia del patrón

En el ejemplo anterior, vimos cómo imprimir el nombre del archivo cuando la coincidencia del patrón fue exitosa. Ahora, veamos cómo hacerlo al revés.

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

$ fgrep -L non-existing-word input.txt

input.txt

En este ejemplo, usamos el -L Opción de comando para imprimir nombres de archivo cuando la coincidencia de patrones no se realiza correctamente.

8. Cómo suprimir los mensajes de error

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

existir fgrepnosotros podemos usar -s Opción para suprimir errores relacionados con archivos inexistentes o ilegibles. Para comprender mejor este comportamiento, intentemos buscar un patrón en un archivo que no existe:

$ fgrep -s professionals non-existing-file.txt
$ echo $?

2

En el resultado anterior, podemos ver que el comando no mostró ningún error en el flujo de error estándar. Sin embargo, el error se notifica mediante un valor de retorno distinto de cero.

Aparte de eso, también podemos observar el mismo comportamiento cuando el archivo no es legible.Entonces, primero, modifique los permisos de archivo usando modo de cambio Ordenar:

$ chmod 000 input.txt 
$ ls -l input.txt

Ahora, intente buscar un patrón y observe los resultados:

$ fgrep -s professionals input.txt 
$ echo $?
Grep ignora los mensajes de error
Grep ignora los mensajes de error

En este post discutimos algunos ejemplos útiles. fgrep Ordenar. Los principiantes pueden usar estos ejemplos en su vida diaria para aumentar su productividad mientras trabajan con Linux.

¿Conoces otros mejores ejemplos del comando fgrep en Linux? Háganos saber su opinión en los comentarios a continuación.

LEER  Libera el poder de tu GPU: Ubuntu WorkSpaces ahora es compatible con la suite Graphics G4dn

Publicaciones relacionadas

Deja una respuesta

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

Botón volver arriba