Con la siguiente orden comprobamos si los nombres de archivo en el directorio actual existen en otro directorio (/tmp en ese ejemplo):
find . -type f -exec basename {} \; | xargs -I {} find /tmp -type f -name {}
lunes, 5 de febrero de 2024
lunes, 22 de enero de 2024
Buscar una palabra por todos los ficheros en una carpeta (recursivamente)
En bash tenemos varias opciones para buscar recursivamente una palabra por todos los ficheros de una carpeta. Por ejemplo podemos componer un comando con find y grep:
find . -name "*.txt" | xargs grep -i "escondida"
También podemos usar el comando grep directamente, usando la opción -r
grep -ri "escondida" *
Si sólo necesitamos los nombres de los archivos, podemos usar la opción -l de grep. Veamos otro comando que usa find para buscar los archivos de texto y grep para buscar la palabra:
find . -name "*.txt" -exec grep -li 'escondida' {} \;
find . -name "*.txt" | xargs grep -i "escondida"
También podemos usar el comando grep directamente, usando la opción -r
grep -ri "escondida" *
Si sólo necesitamos los nombres de los archivos, podemos usar la opción -l de grep. Veamos otro comando que usa find para buscar los archivos de texto y grep para buscar la palabra:
find . -name "*.txt" -exec grep -li 'escondida' {} \;
Suscribirse a:
Entradas (Atom)