GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo enumerar tipos específicos de archivos en directorios recursivos en Shell?

find . | grep "\.doc$"

Esto también mostrará la ruta.


ls La salida del comando está destinada principalmente a la lectura por parte de humanos. Para consultas avanzadas para el procesamiento automatizado, debe usar find más potente comando:

find /path -type f \( -iname "*.doc" -o -iname "*.pdf" \) 

Como si tuvieras bash 4.0++

#!/bin/bash
shopt -s globstar
shopt -s nullglob
for file in **/*.{pdf,doc}
do
  echo "$file"
done

Si se siente más cómodo con "ls" y "grep", puede hacer lo que quiera usando una expresión regular en el comando grep (el carácter '$' final indica que .doc debe estar al final de la línea. Eso excluir "archivo.doc.txt"):

ls -R |grep "\.doc$"

Más información sobre el uso de grep con expresiones regulares en man.


Linux
  1. ¿Cómo hacer Grep en archivos PDF?

  2. ¿Cómo buscar en archivos específicos que coincidan con un patrón?

  3. ¿Cómo encontrar múltiples cadenas en archivos?

  4. Cómo copiar directorios recursivamente usando rsync mientras se excluyen archivos específicos

  5. grep recursivo:excluir directorios específicos

Cómo encontrar una cadena o palabra específica en archivos y directorios

Cómo cambiar el nombre de archivos y directorios en Linux

Cómo comprimir archivos y directorios en Linux

Cómo organizar automáticamente tipos similares de archivos en carpetas específicas

Cómo enumerar solo directorios en Linux

Cómo realizar una búsqueda Grep en todos los archivos y en todos los directorios