#!/bin/shСкрипт запускаю в папке с фотографиями, которые нужно преобразовать, просто
for i in $ls./*.jpg $ls./*.JPG
do
if [ -f "$i" ]
then convert "$i" -resize 1536x1024 -quality 85 "$i"
fi
done
$conv.shБудьте внимательны: при работе скрипта оригиналы фотографий перезапишутся уменьшенными копиями. Мне так удобнее – я сначала копирую фотки туда, куда мне нужно, а затем запускаю скрипт.
Как сделать по-другому читайте здесь.
При желании скрипт можно расширить для работы с несколькими разрешениями. Получится примерно так:
#!/bin/shИ для моего случая команда будет выглядеть следующим образом:
case "$1" in
1)
size="1152x768"
;;
2)
size="1536x1024"
;;
3)
size="1920x1280"
;;
*)
echo "Script for converting photos to lower dimension --> Usage: conv.sh {1|2|3}"
echo "1 = 1152x768"
echo "2 = 1536x1024"
echo "3 = 1920x1280"
exit 1
esac
for i in $ls./*.jpg $ls./*.JPG
do
if [ -f "$i" ]
then convert "$i" -resize $size -quality 85 "$i"
fi
done
$conv.sh 2
3 комментария:
такой метод имеет кучу плюсов! и мне нравится!
1. баш скрипты пашут очень быстро
2. нет необходимости запускать GUI-приложения
у меня при запуске приложения пишет ошибка! не могу прочитать переменную, нет такой переменной ls...
не могли бы вы объяснить подробнее как написан скрипт?
Заходим в папку с фотографиями и запускаем скрипт. Он обрабатывает поочередно все файлы с расширением jpg и JPG в текущей папке. Если нужны еще какие-то, то необходимо их дописать, например
for i in $ls./*.jpg $ls./*.JPG $ls./*.tif $ls./*.TIFF
Отправить комментарий