Solución:
Como señaló LifeHacker, el siguiente comando hará esto muy fácilmente:
sips -Z 640 *.jpg
Para citar su explicación:
“Entonces, ¿qué está pasando? Bueno,” sips “es el comando que se está usando y -Z le dice que mantenga la relación de aspecto de la imagen.” 640 “es la altura y el ancho máximos que se deben usar y” * .jpg “le indica a su computadora que reduzca el tamaño todas las imágenes que terminan en .jpg. Es realmente simple y encoge las imágenes muy rápidamente. Solo asegúrese de hacer una copia primero si también desea conservar su tamaño más grande “.
Fuente: http://lifehacker.com/5962420/batch-resize-images-quickly-in-the-os-x-terminal
imagemagick ayuda:
$ convert foo.jpg -resize 50% bar.jpg
Hay muchas más cosas que puede hacer, incluida la conversión entre formatos, aplicar efectos, recortar, colorear y mucho, mucho más.
Aquí hay un script que usa sips
para redimensionar recursivamente todas las imágenes en una carpeta determinada (y sus subcarpetas), y coloca las imágenes redimensionadas en un resized
carpeta en el mismo nivel de árbol que la imagen: https://gist.github.com/lopespm/893f323a04fcc59466d7
#!/bin/bash
# This script resizes all the images it finds in a folder (and its subfolders) and resizes them
# The resized image is placed in the /resized folder which will reside in the same directory as the image
#
# Usage: > ./batch_resize.sh
initial_folder="/your/images/folder" # You can use "." to target the folder in which you are running the script for example
resized_folder_name="resized"
all_images=$(find -E $initial_folder -iregex ".*.(jpg|gif|png|jpeg)")
while read -r image_full_path; do
filename=$(basename "$image_full_path");
source_folder=$(dirname "$image_full_path");
destination_folder=$source_folder"https://foroayuda.es/"$resized_folder_name"https://foroayuda.es/";
destination_full_path=$destination_folder$filename;
if [ ! -z "$image_full_path" -a "$image_full_path" != " " ] &&
# Do not resize images inside a folder that was already resized
[ "$(basename "$source_folder")" != "$resized_folder_name" ]; then
mkdir "$destination_folder";
sips -Z 700 "$image_full_path" --out "$destination_full_path";
fi
done <<< "$all_images"