grep

Grep para múltiples patrones o cadenas

Grep para múltiples patrones o cadenas
Global Regular Expression Print o Grep es una poderosa utilidad utilizada en el sistema operativo Linux. A través de grep, puede buscar archivos con diferentes patrones o cadenas aplicando limitaciones. La función Grep toma uno o más archivos de entrada para buscar en directorios o subdirectorios. Para buscar numerosos patrones, utilizamos el operador OR. Este operador se usa para separar los patrones escritos en el comando. El operador de alteración "|" se usa con la barra invertida. La sintaxis para buscar diferentes expresiones regulares es la siguiente:

Sintaxis

$ grep 'patrón1 \ | patrón2' nombre de archivo

Una expresión regular siempre se escribe entre comillas simples. Dos nombres están separados por una barra invertida y un operador de alteración. El comando termina con el nombre de archivo. Al hacer grep recursivo, se usa el directorio o la ruta completa en lugar de un solo nombre de archivo.

Requisito previo

En este artículo, aprenderemos la funcionalidad de grep en la búsqueda de múltiples patrones y cadenas. Para este propósito, necesita tener el sistema operativo Linux ejecutándose en su caja virtual. Necesitas instalarlo en tu sistema. Después de la configuración, tendrá acceso para usar todas las aplicaciones. Después de iniciar sesión con el usuario proporcionando una contraseña, vaya a la línea de comandos de terminal shell para continuar.

Buscar por varios patrones en un archivo usando Grep

Si queremos buscar múltiples patrones o cadenas en un archivo en particular, use la funcionalidad grep para ordenar dentro de un archivo con la ayuda de más de una palabra de entrada en el comando. Usamos '\ |' operadores para la separación de dos patrones en un comando.

$ grep 'archivo técnico \ | trabajo'.TXT

El comando representa cómo funciona grep. Ambos archivos mencionados se buscarán en filea.TXT. Las palabras buscadas se resaltan en todo el texto de la salida.

Para buscar más de dos palabras, continuaremos agregándolas con el mismo método.

$ grep 'gráfico \ | photoshop \ | posters' fileb.TXT

Buscar varias cadenas ignorando mayúsculas y minúsculas

Para comprender el concepto de distinción entre mayúsculas y minúsculas en la función grep en Linux, considere el siguiente ejemplo. Dos comandos funcionan en grep. Uno está con '-i' y el otro sin. Este ejemplo demuestra las diferencias entre los comandos. El primero muestra que se buscarán dos palabras en un archivo determinado. Sin embargo, como se indica en el comando "Aqsa", comienza con A mayúscula. Por lo tanto, no se resaltará porque, en un archivo en particular, este texto está en minúsculas.

Archivo $ grep 'Aqsa \ | sister' 20.TXT

Solo considerará la palabra hermana, que se verá en la salida.

En el segundo ejemplo, hemos ignorado la distinción entre mayúsculas y minúsculas mediante el uso de la bandera "-I". Esta función buscará ambas palabras y la salida se resaltará. Ya sea que la palabra 'Aqsa' esté escrita en mayúsculas o no, grep buscará la misma coincidencia en el texto dentro de un archivo. Entonces, ambos comandos son útiles a su manera.

$ grep -I archivo 'Aqsa \ | hermana' 20.TXT

Contar varias coincidencias en un archivo

La función de conteo ayuda a contar la aparición de una palabra o palabras en un archivo en particular. Por ejemplo, si desea conocer los errores que ocurren en el sistema. El detalle se registra en el archivo de registros. Para mantener esta información en una carpeta específica, deberá escribir la ruta de las carpetas. Este ejemplo muestra que se produjeron 71 errores en los archivos de registro.

Buscar coincidencias exactas en un archivo

Si desea encontrar una coincidencia exacta en los archivos de su sistema, debe usar la marca "-w" para ordenarlos con precisión. Hemos citado un ejemplo sencillo y completo. En el siguiente ejemplo, considere buscar sin "-w", este comando traerá ambas palabras como coinciden con la entrada dada. Pero con el uso de la bandera "-w", la búsqueda estará limitada ya que las palabras de entrada solo coinciden con la primera cadena. La segunda palabra no está resaltada porque "-w" permite una coincidencia precisa con el patrón.

$ -iw archivo 'hamna \ | casa' 21.TXT

Aquí -I también se usa para eliminar la distinción entre mayúsculas y minúsculas en la búsqueda de texto.

Como se ve en la foto, los resultados no son los mismos. El primer comando trae todos los datos relacionados con cadenas completas, mientras que el segundo comando muestra cómo coinciden los datos exactos a través de grep en la búsqueda de múltiples cadenas.

Grep para más de un patrón en un tipo de extensión de archivo específico

La búsqueda se realiza dentro de todos los archivos. Depende de usted si busca proporcionando el nombre del archivo.Solo buscará en archivos específicos. Pero al proporcionar una extensión de archivo, los datos se buscarán en todos los archivos de la misma extensión. Hay dos ejemplos diferentes para representar el resultado relacionado. Considerando el primer ejemplo, los archivos de error se contarán en todos los archivos del .extensión de registro. "-C" se utiliza para contar.

$ grep -c 'advertencia \ | error' / var / log / *.Iniciar sesión

Este comando implica que los archivos se buscarán en todos los archivos del .extensión de registro. El recuento de coincidencias se mostrará en la salida para demostrar mejor grep con la extensión de archivo específica.

En el segundo ejemplo, hemos usado dos palabras en nuestros archivos en Linux con la extensión del texto. Todos los datos se mostrarán en forma de números. 0 indica que no hay datos coincidentes, mientras que otro que 0 muestra que existe una coincidencia.

$ grep -c 'aqsa \ | mi' / inicio / aqsayasin / *.TXT

Búsqueda de varios patrones de forma recursiva en un archivo

De forma predeterminada, se utiliza el directorio actual si no se menciona ningún directorio en el comando. Si desea buscar en el directorio de su elección, debe mencionarlo. El operador "-r" se utiliza para grep de forma recursiva./ home / aqsayasin / muestra la ruta de los archivos, mientras que *.txt muestra la extensión. Los archivos de texto serán el objetivo de grep para buscar de forma recursiva.

$ grep -R 'técnico \ | gratis' / home / aqsayasin / *.TXT

La salida deseada se resalta en el resultado que muestra la existencia de estas palabras.

Conclusión

En el artículo mencionado anteriormente, hemos citado diferentes ejemplos para facilitar al usuario la comprensión del funcionamiento de los comandos para buscar múltiples patrones en Linux. Esta guía le ayudará a ampliar sus conocimientos actuales.

Emule los clics del mouse colocando el mouse con Clickless Mouse en Windows 10
El uso excesivo de un mouse o teclado en una postura incorrecta puede provocar muchos problemas de salud, como tensión, síndrome del túnel carpiano y ...
Agregue gestos del mouse a Windows 10 con estas herramientas gratuitas
En los últimos años, las computadoras y los sistemas operativos han evolucionado enormemente. Hubo un momento en que los usuarios tenían que usar coma...
Controle y administre el movimiento del mouse entre múltiples monitores en Windows 10
Administrador de mouse de doble pantalla le permite controlar y configurar el movimiento del mouse entre varios monitores, al ralentizar sus movimient...