Иногда требуется изменить большое количество изображений, чтобы не редактировать каждый файл, можно написать скрипт, который сделает то, что нужно.
Для начала, нужно установить пакет imagemagick
Для Debian
1 |
sudo apt-get install imagemagick |
После установки создадим каталог, куда поместим наш скрипт и изображения
1 2 3 |
mkdir /tmp/img && cd /tmp/img touch convert.sh && sudo chmod a+x convert.sh nano convert.sh |
Сам скрипт
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
#!/bin/bash # Mass change images files # Autor Denis Sobol # Copyright Denis Sobol 2016 # VARIABLES EXTENT="png" NEWEXTENT="jpg" function renamer() { a="1" for i in *.$EXTENT; do new=$(printf "%02d.$EXTENT" "$a") mv -- "$i" "$new" let a=a+1 done } function resizer() { a="1" for file in *.$EXTENT; do convert $file -resize x760 $file done } function reconverter() { for file in *.$EXTENT; do convert $file -resize x760 $file.$NEWEXTENT done } renamer echo "Rename files" sleep 3 resizer echo "Resize files" sleep 3 reconverter echo "Done" |