usage - Linux find: ¿Enumera todos los archivos de imagen gráfica con find?
see gpu usage linux (5)
Hay muchos tipos de imágenes gráficas en este enorme archivo como .jpg, .gif, .png, etc. No conozco todos los tipos. ¿Hay alguna forma de ''buscar'' para poder tener una lista de todas las imágenes gráficas, independientemente de su nombre de extensión de punto? ¡Gracias!
Esto debería funcionar
find . -name ''*'' -exec file {} /; | grep -o -P ''^.+: /w+ image''
ejemplo de salida:
./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
La expansión o el uso de awk para "imagen" solo no lo hará. Los archivos PSD se identificarán por "Imagen" con una "I" mayúscula, por lo que debemos mejorar la expresión regular para que sea insensible a mayúsculas y minúsculas o que también incluya la mayúscula I. Los archivos EPS no contendrán la palabra "imagen" para que podamos También debe coincidir con "EPS" o "Postscript" dependiendo de lo que desee. Así que aquí está mi versión mejorada:
find . -type f -exec file {} /; | awk -F: ''{ if ($2 ~/[Ii]mage|EPS/) print $1}''
Lo siguiente me viene mejor ya que en mi caso quería canalizar esta lista de archivos a otro programa.
find . -type f -exec file {} /; | awk -F: ''{if ($2 ~/image/) print $1}''
Relacionado con el mismo problema, acabo de publicar una herramienta llamada photofind ( https://github.com/trimap/photofind ). Se comporta como el comando de búsqueda normal, pero está especializado en archivos de imágenes y admite el filtrado de resultados también en función de la información EXIF almacenada en los archivos de imagen. Vea el github-repo vinculado para más detalles.
find . -type f -exec file {} /; | grep -o -P ''^.+: /w+ image''
debería incluso ser mejor