una serie recursividad recursivas recibe que programas números número los juego imprime función funciones dev consideremos con image terminal png batch-processing

image - serie - recursividad en c



Procesar de forma recursiva los archivos de proceso con pngquant (2)

Tengo muchas imágenes que me gustaría procesar con pngquant. Están organizados en una estructura de directorios bastante profunda, por lo que requiere mucho tiempo pngquant -ext .png -force 256 *.png manualmente en cada directorio y ejecutar pngquant -ext .png -force 256 *.png

¿Hay alguna manera de hacer que este comando se ejecute en todos los * .png en cada directorio dentro del actual, con tantas capas como sea necesario?


Con el shell de peces puede ejecutar lo siguiente desde la raíz del directorio de su proyecto

pngquant **.png

Lo que generará nuevos archivos con extensiones como -or8.png o -fs8.png .

Si desea sobrescribir los archivos existentes, puede utilizar

pngquant **.png --ext .png --force


Si tiene una profundidad limitada de directorios y no demasiados archivos, entonces la solución perezosa:

pngquant *.png */*.png */*/*.png

Una solución estándar:

find . -name ''*.png'' -exec pngquant --ext .png --force 256 {} /;

y versión multi-core:

find . -name ''*.png'' -print0 | xargs -0 -P8 -L1 pngquant --ext .png --force 256

donde -P8 define el número de CPU, y -L1 define una cantidad de imágenes para procesar en una llamada pngquant (uso -L4 para carpetas con muchas imágenes pequeñas para guardar en el inicio del proceso).