GNU/Linux >> Tutoriales Linux >  >> Linux

Listar todos los archivos de imágenes gráficas con find?

Esto debería hacer el truco

find . -name '*' -exec file {} \; | grep -o -P '^.+: \w+ image'

salida de ejemplo:

./navigation/doc/Sphärische_Trigonometrie-Dateien/bfc9bd9372f650fd158992cf5948debe.png: PNG image
./navigation/doc/Sphärische_Trigonometrie-Dateien/6564ce3c5b95ded313b84fa918b32776.png: PNG image
./navigation/doc/subr_1.jpe: JPEG image
./navigation/doc/Astroanalytisch-Dateien/Gamma.gif: GIF image
./navigation/doc/Astroanalytisch-Dateien/deltaS.jpg: JPEG image
./navigation/doc/Astroanalytisch-Dateien/GammaBau.jpg: JPEG image

Lo siguiente me conviene más ya que en mi caso quería canalizar esta lista de archivos a otro programa.

find . -type f -exec file --mime-type {} \+ | awk -F: '{if ($2 ~/image\//) print $1}'

Si quería alquitranar las imágenes (como alguien en los comentarios) preguntó

find . -type f -exec file --mime-type {} \+ | awk -F: '{if ($2 ~/image\//) printf("%s%c", $1, 0)}' | tar -cvf /tmp/file.tar --null -T -

Linux
  1. ¿Eliminar todos los archivos excepto en un determinado subdirectorio con Buscar?

  2. ¿Obtener una lista de todos los archivos por máscara en la terminal?

  3. Enumere recursivamente todos los archivos en un directorio, incluidos los archivos en los directorios de enlaces simbólicos

  4. Encuentra todos los archivos con un nombre que contenga una cadena

  5. Excluir la lista de archivos de la búsqueda

Encuentra archivos perdidos con Scalpel

Iterar sobre una lista de archivos con espacios

enumerar/buscar todos los archivos normales en todos los subdirectorios, excepto los archivos binarios

encontrar archivos con ACL establecidas

¿Cómo enumero archivos con rutas completas en Linux?

¿Cómo enumero a todos los usuarios con root?