
Con el comando mogrify, que forma parte de ImageMagick, podemos modificar muchas características de archivos de imagen desde la línea de comandos. Para cambiar el tamaño se utiliza el parámetro -resize. El nuevo tamaño de la imagen tiene el formato anchoxalto. Es posible omitir una de las dos dimensiones. En Bash tenemos la opción de usar "pattern matching" para modificar varios archivos.
# mogrify -resize 1024 image.jpg # mogrify -resize x768 image.jpg # mogrify -resize 1024x768 *.jpg
Utilizando "brace expansion" podemos indicar varias extensiones de archivo. Con shopt se puede desactivar y volver a activar la distinción entre mayúsculas y minúsculas en los nombres de los archivos. Esto puede ser útil si tenemos algunos archivos con la extensión en mayúsculas y otros con la extensión en minúsculas.
# shopt -s nocaseglob # mogrify -resize 1024 *.{jpg,jpeg,png} # shopt -u nocaseglob
Si queremos modificar archivos que se encuentren en subdirectorios podemos usar el comando find para buscar los archivos y ejecutar mogrify con cada uno de ellos. El primer parámetro es el directorio donde empezar la búsqueda. Con el parámetro -regex se le indica la expresión regular que debe cumplir el nombre de los archivos. Si necesitamos que no se distinga entre mayúsculas y minúsculas, en lugar de usar el parámetro -regex debemos usar -iregex.
El parámetro -regextype selecciona el tipo de expresión regular. Por defecto se usa el tipo emacs, en el que es necesario utilizar caracteres de escape. Con otros tipos, como por ejemplo posix-extended, no es necesario y esto hace que sea más fácil escribir la expresión regular.
Para indicar el comando a ejecutar con cada archivo encontrado se usa el parámetro -exec. Los caracteres {} le dicen a find donde incluir la ruta del archivo encontrado. Los caracteres \; marcan donde termina el comando. Con el parámetro -print se muestran las rutas de los archivos encontrados.
# find . -regextype posix-extended -iregex ".*\.(jpg|jpeg|png)$" -print -exec mogrify -resize 1024x768 {} \;
No hay comentarios:
Publicar un comentario