GNU/Linux >> Tutoriales Linux >  >> Linux

Encuentra recursivamente archivos con una extensión específica

Usando find de -regex argumento:

find . -regex '.*/Robert\.\(h\|cpp\)$'

O simplemente usando -name :

find . -name 'Robert.*' -a \( -name '*.cpp' -o -name '*.h' \)

find -name "*Robert*" \( -name "*.pdf" -o -name "*.jpg" \)

El -o representa un OR condición y puede agregar tantos como desee dentro de las llaves. Así que esto dice que busque todos los archivos que contengan la palabra "Robert" en cualquier parte de sus nombres y cuyos nombres terminen en "pdf" o "jpg".


Como alternativa al uso de -regex opción en find , dado que la pregunta está etiquetada como bash, puede usar el mecanismo de expansión de llaves:

eval find . -false "-o -name Robert".{jpg,pdf}

Mi preferencia:

find . -name '*.jpg' -o -name '*.png' -print | grep Robert

Linux
  1. ¿Omitir la extensión con Buscar?

  2. ¿Ordenar archivos en una carpeta específica con Ranger?

  3. ¿Encontrar los archivos más grandes recursivamente?

  4. ¿Cómo ocultar archivos con una extensión específica?

  5. Cómo eliminar archivos con una extensión específica en la línea de comandos de Linux

Comando Find de Linux con ejemplos prácticos

Encuentra archivos perdidos con Scalpel

Cómo eliminar archivos con extensión específica en Linux

Cómo copiar archivos con una extensión de archivo específica recursivamente

Cómo excluir una extensión de archivo específica al copiar archivos de forma recursiva

Buscar y eliminar archivos con una fecha específica