Блог :. Как быстро изменить размеры всех изображений, находящихся в папке в линукс?

Как быстро изменить размеры всех изображений, находящихся в папке в линукс?

26 Мая, 2014

Я же ведь говорил, что буду писать всякие очевидные или не очень вещи, скорее даже в первую очередь для себя, чтобы не забыть и не искать снова уже знакомое решение.

Так вот, проблема заключается в следующем: как без установки фотошопа и без запуска gimp легко и просто массово изменить размеры всех изображений, находящихся в папке в линукс, используя лишь консоль?

Для начала поставим пакет imagemagick

$ sudo apt-get install imagemagick

Ну и собственно сам скриптец:

for file in *.png; do
	convert $file -resize 65x59 $file;
done

Так же мы можем распараллелить сам процесс конвертации, если у нас несколько процессоров:

procs=`cat /proc/cpuinfo | grep processor -c`;

for file in *.jpg; do
	echo "converting $file...";
	while [ `ps -e | grep convert -c` -ge $procs ] ; do
		sleep 1s;
	done;
	convert $file -resize 33% $file &
done;

Доне.