¿Cómo escribo un script para optimizar automáticamente todos los PNG en mi directory de imágenes MediaWiki?

Tengo MediaWiki 1.25.2 instalado en mi máquina Debian 8.1 VirtualBox de 64 bits y me gustaría poder cargar el directory de images/ de esta installation a mi DropBox. Al tratarse de un tacaño, bash minimizar el tamaño de este directory de imágenes optimizando los PNG encontrados en él con optipng , de modo que no termine con un DropBox tan completo que deba pagar por más almacenamiento. Mi Wiki tiene en este momento 182 PNG que he cargado (junto con más de un centenar de otros que son miniaturas de estos PNG originales y de los SVG que tengo en mi Wiki), por lo que se ejecuta optipng -o7 <filename> en cada de estos files manualmente será muy tedioso.

Por lo tanto, aquí estoy preguntando, cómo podría escribir un script bash que automáticamente hará esto por mí. Ahora sé algunas piezas del rompecabezas de cómo hacer esto, como sé que el progtwig find puede generar lists de files con una extensión de file especificada en una location específica (por ejemplo, ejecutando sudo find . -type f -name "*.png" del directory images/ que para mí está en /var/lib/mediawiki/images enumerará todos los PNG), pero no sé cómo usar este progtwig para crear un file de text que contenga todos los nombres de file relativos a este directory (por ejemplo, f/f1/Frugalware_Linux_screenshot.png ). Tampoco sé cómo get optipng para optimizar los PNG enumerados en un file de text.

Tratar:

 for i in `find . -type f -name "*.png"` do optipng -o7 "$i" done 

No lo probé, pero debería funcionar así. Si necesita probarlo, puede cambiar la línea optipng -o7 $i con echo $i para ver si obtiene el file correcto.

simplemente use find aquí:

 find (...your filters ...) -exec optipng -o7 '{}' + 

tenga en count que el + tratará de usar tantos resultados de find como argumento para optipng como sea posible, lo cual está bien ya que este progtwig acepta múltiples files como arguments. Tenga en count que + solo funciona si es el último argumento para un command -exec . La alternativa

 find (...filters...) -exec optipng -o7 '{}' \; 

Ejecutará optipng una vez por resultado y, por lo tanto, es mucho más lento.

Nota al pie: {} en la find significa el resultado del nombre de file de su búsqueda, -exec permitirá ececuting a command.