viernes, abril 27, 2007

script para convertir formato de archivos

La utilidad convert sirve para realizar conversiones entre formatos de archivo. En mi caso, para las imágenes que quiero obtener en documentos escritos en LaTeX necesito que tengan formato .eps (Postscript encapsulado) para que el compilador le dé buen tratamiento a las figuras que incluyo. Normalmente las imágenes suelo obtenerlas en .jpg por lo tanto se requiere su conversión. Si se trata de pocas figuras, desde la línea de comandos, se puede efectuar de manera sencilla:

$convert nombrearchivo.jpg nombrearchivo.eps

El problema viene cuando el número de archivos a convertir es tan elevado que se hace inviable la conversión uno a uno. Para ello realizamos un script que recorra, a través de un bucle for, todos los archivos en cuestión:

for file in *.jpg ; do
convert $file ${file/.jpg/%d.eps}
done

Aunque parece trivial no lo es porque hay que eliminar la extensión .jpg para que no dé una salida del tipo: nombre.jpg.eps

Este simple script junto a la utilidad convert dan una idea de la inmensa potencia de la consola gnu (bash).

No hay comentarios: