Хорошо, этот скрипт работал для меня:
# apache2 - http server
#
# Apache is a web server that responds to HTTP and HTTPS requests.
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
description "apache2 http server"
start on runlevel [2345]
stop on runlevel [!2345]
pre-start script
mkdir -p /var/run/apache2 || true
install -d -o www-data /var/lock/apache2 || true
# ssl_scache shouldn't be here if we're just starting up.
# (this is bad if there are several apache2 instances running)
rm -f /var/run/apache2/*ssl_scache* || true
end script
limit cpu 300 300
env APACHE_RUN_USER=www-data
env APACHE_RUN_GROUP=www-data
env APACHE_PID_FILE=/var/run/apache2.pid
# Give up if restart occurs 10 times in 30 seconds.
respawn limit 10 30
exec /usr/sbin/apache2 -D NO_DETACH
respawn
for file in *.JPG; do convert $file -rotate 90 rotated-$file; done
Это скопирует-покрутит и переименует ваши файлы.
Если вы хотите оставить исходные файлы нетронутыми пока, этот метод может работать хорошо для вас ... [!d2 ]
Обратите внимание, что это зависит от регистра: если ваши файлы называются * .jpg, замените их нижним регистром (или * .png ...) соответственно.
Вот как я это делаю:
Установить gThumbsudo apt-get install gthumb
Открыть nautilus и перейти в каталог изображений. Щелкните правой кнопкой мыши по одному и выберите Open with -> gthumb. В меню view выберите Browser или нажмите клавишу Esc. Это откроет браузер каталогов, содержащий все ваши изображения. Нажмите Ctrl и выберите изображения, которые хотите повернуть, или выберите их все с помощью Ctrl + A. На панели инструментов выберите Tools, а затем Rotate Right или Rotate Left в зависимости от ваших предпочтений. Хорошим решением является создание набора резервных копий (например, префикс backup-), поворот исходных файлов, создающих набор новых файлов (с префиксом, например rotated-), что дает вам набор
[d1 ] img-1.png backup-img-1.png rotated-img-1.png img-2.png ... и т. д.Инструменты mv / cp [bash globbing] могут добавлять только префиксы, это грязно, чтобы забрать их (он будет использовать расширение параметра, ewww ...)
Инструмент rename позволяет вам использовать синтаксис подстановки s/before/after/ (из инструмента sed), чтобы заменить этот префикс защиты и перезаписать оригинальные файлы, поэтому ваш общий процесс для заданного набора изображений img- {1..n} .png будет:
for imgf in img-*.png; do mv "$imgf" "backup-$imgf"; done
for imgf in backup-img-*.png; do convert "$imgf" -rotate 90 "rotated-$imgf"; done
Примечание:
img-1.png вращение по часовой стрелке (-rotate 270 получает вас на 90 ° против часовой стрелки) backup-img-1.png для более компактной формы (например, набор нумерованных файлов), используйте некоторое расширение параметра например echo "$(echo ${imgf#backup-img-} | cut -d\. -f 1)..."; (вы не можете удалить префикс и суффикс в одном и том же расширении bash param, поэтому используйте cut)Затем после проверки вы не испортились, удалите фотографии, переместив их назад к o riginal
rename 's/^rotated-//;' rotated-*
rm backup-img-*
Вы можете скопировать / вставить этот код и сохранить его как rotate.sh
#!/bin/bash -e
CUR_DIR=$(pwd)
cd $1
for file in *.jpg
do
convert $file -rotate 90 $file
done
cd $CUR_DIR
. После сохранения этого файла запустите его с терминала с помощью ./rotate.sh folder_containing_images.