in

linux – ¿Cómo hago grep de forma recursiva?

apple touch icon@2

Si solo desea seguir directorios reales y no enlaces simbólicos,

grep -r "thingToBeFound" directory

Si desea seguir enlaces simbólicos además de directorios reales (tenga cuidado con la recursividad infinita),

grep -R "thing to be found" directory

Dado que está intentando hacer grep de forma recursiva, las siguientes opciones también pueden resultarle útiles:

-H: outputs the filename with the line

-n: outputs the line number in the file

Entonces, si desea encontrar todos los archivos que contienen Darth Vader en el directorio actual o en cualquier subdirectorio y capturar el nombre del archivo y el número de línea, pero no desea que la recursividad siga enlaces simbólicos, el comando sería

grep -rnH "Darth Vader" .

Si desea encontrar todas las menciones de la palabra gato en el directorio

/home/adam/Desktop/TomAndJerry 

y estás actualmente en el directorio

/home/adam/Desktop/WorldDominationPlot

y desea capturar el nombre del archivo pero no el número de línea de cualquier instancia de la cadena «gatos», y desea que la recursividad siga enlaces simbólicos si los encuentra, puede ejecutar cualquiera de los siguientes

grep -RH "cats" ../TomAndJerry                   #relative directory

grep -RH "cats" /home/adam/Desktop/TomAndJerry   #absolute directory

Fuente:

ejecutando «grep –help»

Una breve introducción a los enlaces simbólicos, para cualquiera que lea esta respuesta y esté confundido por mi referencia a ellos:
https://www.nixtutor.com/freebsd/understanding-symbolic-links/

Deja una respuesta

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

Método Python String split ()

gfg 200x200 min

Cambio de moneda | DP-7 – GeeksforGeeks