Поворот изображений с терминала

Хорошо, этот скрипт работал для меня:

# 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
1
задан 2 March 2015 в 12:20

4 ответа

for file in *.JPG; do convert $file -rotate 90 rotated-$file; done

Это скопирует-покрутит и переименует ваши файлы.

Если вы хотите оставить исходные файлы нетронутыми пока, этот метод может работать хорошо для вас ... [!d2 ]

Обратите внимание, что это зависит от регистра: если ваши файлы называются * .jpg, замените их нижним регистром (или * .png ...) соответственно.

18
ответ дан 23 May 2018 в 22:47

Вот как я это делаю:

Установить gThumb
sudo apt-get install gthumb
Открыть nautilus и перейти в каталог изображений. Щелкните правой кнопкой мыши по одному и выберите Open with -> gthumb. В меню view выберите Browser или нажмите клавишу Esc. Это откроет браузер каталогов, содержащий все ваши изображения. Нажмите Ctrl и выберите изображения, которые хотите повернуть, или выберите их все с помощью Ctrl + A. На панели инструментов выберите Tools, а затем Rotate Right или Rotate Left в зависимости от ваших предпочтений.
4
ответ дан 23 May 2018 в 22:47

Хорошим решением является создание набора резервных копий (например, префикс 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-*
0
ответ дан 23 May 2018 в 22:47

Вы можете скопировать / вставить этот код и сохранить его как 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.

0
ответ дан 23 May 2018 в 22:47

Другие вопросы по тегам:

Похожие вопросы: