Переворачивание изображений в папке
Модератор: Модераторы разделов
-
Faegami
- Сообщения: 7
- ОС: Linux Mandriva 2009.0
Переворачивание изображений в папке
Имеется папка с отсканированной книгой, причём листы через один (те, которые с нечётными номерами - 001.tif, 003.tif...) перевёрнуты на 180 градусов. Как можно повернуть их, чтобы все были в нормальном положении?
-
alfss
- Сообщения: 262
Re: Переворачивание изображений в папке
1 не папка а директория или каталог
ImageMagic
ImageMagic
Код: Выделить всё
#!/bin/bash
for I in `seq 10`
do
if [ `expr $I % 2` == 1 ]; then
echo `convert -rotate 180 00$I.png 00$I-180.png`
fi
done-
Faegami
- Сообщения: 7
- ОС: Linux Mandriva 2009.0
Re: Переворачивание изображений в папке
alfss писал(а): ↑16.01.2009 19:17ImageMagic
Код: Выделить всё
#!/bin/bash for I in `seq 10` do if [ `expr $I % 2` == 1 ]; then echo `convert -rotate 180 00$I.png 00$I-180.png` fi done
Спасибо. Что надо сюда добавить, чтобы переворачивались и изображения с именами 011 и т.д.? В этом варианте только до 009.
-
SLEDopit
- Модератор
- Сообщения: 4824
- Статус: фанат консоли (=
- ОС: GNU/Debian, RHEL
Re: Переворачивание изображений в папке
Код: Выделить всё
#!/bin/bash
echo -n Number of files:
read n
for I in `seq $n`
do
if [ `expr $I % 2` == 1 ]; then
echo `convert -rotate 180 $(printf '%0.3d' $n).png $(printf '%0.3d' $n)-180.png`
fi
doneно тут только если все файлы имеют формат png и имена 001-999. не универсальный способ
зы а вообще google advanced bash scripting. очень полезная вещь)
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
The more you believe you don't do mistakes, the more bugs are in your code.
-
Faegami
- Сообщения: 7
- ОС: Linux Mandriva 2009.0
Re: Переворачивание изображений в папке
Всем спасибо, получилось у самого:
Не зависит от количества файлов.
Код: Выделить всё
#!/bin/bash -x
for I in *.tiff
do
J=`echo $I | cut -d"." -f1`
if [ `expr $J % 2` == 1 ]; then
echo `convert -rotate 180 $J.tiff $J.tiff`
fi
doneНе зависит от количества файлов.
-
Portnov
- Модератор
- Сообщения: 1786
- Статус: Матёрый линуксоид
- ОС: Debian testing/unstable
Re: Переворачивание изображений в папке
Есть ещё такой умный ключик у seq - -w.
Добавляет перед числами подходящее количество нулей.
Код: Выделить всё
[portnov]$ seq -w 10
01
02
03
04
05
06
07
08
09
10Добавляет перед числами подходящее количество нулей.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru