¿Cómo utilizar Grep de forma recursiva?

How Use Grep Recursively



El comando Grep se usa para buscar texto en archivos. Es un patrón versátil que invoca grep con –r. –R opción busca archivos de forma recursiva desde subdirectorios, comenzando desde el directorio actual. El comando se ejecuta desde el directorio de nivel superior. Por ejemplo / home / abc, etc. Grep es una herramienta para obtener dependencias mientras se mueve de un host a otro. Si no mencionamos un directorio en el comando, grep buscará el directorio de trabajo actual. Para realizar grep de forma recursiva, hay tres argumentos que hemos tomado de la página de manual de grep.

$Hombresujeción







–Include se usa para una coincidencia exacta en el archivo, que pueden ser archivos que están presentes en el directorio o por defecto. –R implica el nombre del directorio, como se describió anteriormente, si no se define una ruta en el comando, se considera el directorio actual. Solo sigue un vínculo simbólico. –R es bastante diferente de –r porque lee todos los archivos, no solo los definidos simbólicamente.



Sintaxis

Patrón de agarre –R/sendero/

Path es una ruta de directorio. Y el patrón es una palabra o una cadena que desea buscar.



Requisito previo

Para comprender la función recursiva grep, debe tener el sistema operativo Linux. Después de la instalación, configurará Linux proporcionando un nombre de usuario y una contraseña. Después de hacerlo, obtendrá privilegios para acceder a todas las aplicaciones en ese sistema operativo.





Todos los archivos en Linux

Este comando le ayudará a buscar todos los nombres de archivo en los directorios de su sistema. Como –l funciona proporcionando solo los nombres de archivo, –r ayudará a buscar simbólicamente donde esté presente la palabra requerida, aparecerá como salida. Mientras que Aqsa es la palabra que queremos buscar. Este comando no tiene ninguna ruta al directorio porque aquí queremos todos los nombres de archivo posibles en el sistema. Si hemos proporcionado una ruta, el proceso de búsqueda tendrá limitaciones.

$sujeción–R –l aqsa



Ejemplo simple

Para comprender el dilema de la recursividad con la ayuda de la ruta, presentamos un ejemplo simple para guiar al usuario. Como se muestra en el siguiente comando, versátil es una palabra que queremos buscar. Después de la palabra, hay un directorio en el que deseamos ordenar. Muestra tanto el nombre del archivo con el directorio como el texto completo dentro del archivo. –R también muestra los archivos binarios.

$sujeción–R versátil/hogar/aqsayasin

Buscar de forma recursiva en todos los directorios y subdirectorios

Como todos estamos familiarizados con la funcionalidad de * en el sistema de búsqueda. Implica ordenar todos los archivos. Entonces, el comando mostrará los datos respectivos de todos los archivos. La palabra de la casa debe buscarse de forma recursiva utilizando la declaración grep.

$sujeción–R casa*

Muestra los nombres de archivo y el texto que contiene resaltando la palabra buscada, lo que indica que existe una coincidencia. Solo un archivo de texto contenía esa palabra, que se muestra en la línea resultante.

Grep recursivamente para una cadena

A diferencia de los ejemplos anteriores, grep funciona en una cadena en el directorio específico. / etc / es el directorio de comandos que significa que la búsqueda se realizará a través de este directorio, la dirección IP de una computadora. Su información se guarda en el directorio, teniendo los nombres de los archivos presentes en el directorio / etc / ppp /. La opción es el nombre de una carpeta en particular. Este comando leerá todos los archivos en el directorio dado.

$sujeción–R 192.168.1.5/etc/

Los nombres del archivo en la salida se pueden suprimir con la ayuda de la opción –h. El comando es el siguiente.

$sujeción -h -R '192.168.1.5' /etc/

Ambos separadores se pueden escribir como -h -R en un comando.

Buscar de forma recursiva sin un directorio

La búsqueda recursiva también se puede realizar sin usar un directorio, simplemente buscando una palabra con una sola palabra.

$sujeción–R esposa

La palabra esposa se busca en todos los directorios automáticamente porque cuando no se menciona ningún directorio, el proceso de búsqueda continuará en todos los archivos y directorios del sistema. También incluirá archivos binarios junto con los archivos de texto. La dirección de archivo y los nombres de archivo se muestran al principio. Mientras que se muestra texto dentro del archivo. No solo se muestra el texto sin formato, sino también el comando grep aplicado en el texto del archivo, es decir, grep 'Soy un ama de casa'.

Patrones múltiples exactos de Grep

La búsqueda de varios métodos también es una característica que se obtiene a través del comando grep. -rw se utiliza para explorar la coincidencia en particular. -e se usa para agregar más de un patrón en el comando. Se menciona la ruta del directorio para facilitar la búsqueda del sistema. Los archivos binarios se excluyen porque el límite se introduce al agregar un directorio en el comando. La salida contiene el nombre del directorio de archivos y el nombre del archivo. Además, se muestra texto dentro del archivo.

$sujeción–Rw ‘/hogar/aqsayasin/

Las palabras buscadas se resaltan en el texto del archivo. Ambos términos buscados deben estar presentes en un solo archivo. Existe la probabilidad de que existan palabras en diferentes archivos, como se muestra en el resultado.

Grep usando recursivamente - -Incluir

—Include coincide con el patrón de archivo dado y funciona de manera eficaz, ya que también acelera el proceso de búsqueda, que funciona con la mayoría de los archivos. Aquí, no trae archivos binarios o compilados o de imagen. La extensión del archivo se usa para agregar limitaciones al comando. Se menciona el directorio para traer la salida requerida. La palabra clave incluida es bastante avanzada en grep en comparación con otras funcionalidades.

$sujeción–R --incluir=*txt hermana/hogar/aqsayasin

Conclusión

En este artículo, hemos explicado cada ejemplo para demostrar el uso de la función recursiva grep. Se utiliza una función recursiva para buscar con limitaciones y con precisión en todos los directorios del sistema. Si un directorio no está presente, el directorio actual se considera por defecto.