LINUX.ORG.RU

convert - конвертируем много файлов сразу


0

2

Чтоб конвертировать все файлы сразу, например из png в jpg

можно написать такой скрипт :

_______________________

#!/bin/sh

list=`ls *.png | sed -e 's/\.png$//g'`

#заносим в переменную list список файлов из текущей директории

#названия которых оканчиваются на .png, НО БЕЗ РАСШИРЕНИЯ png

for i in $list

#в цикле переменной i будет присваиваться значение всех png-файлов

do

convert «$i»".png" «$i»".jpg"

#команда CONVERT по преобразованию png-файлов в jpg файлы

# $i - имя входного файл - png

# $i - имя выходного файла - jpg

done

______________________

копируем скрипт в файл, даем любое имя и расширение sh

в свойствах делаем этот файл исполняемым

и запускаем в той директории, где у вас файлы для конвертации

./скрипт.sh



Последнее исправление: sergsh (всего исправлений: 10)

В чем подвох? Где рмрф?

bk_ ★★
()
for i in *.png; do convert $i `basename $i png`jpg; done
post-factum ★★★★★
()

Проще в Thunar в «Особых действиях» добавить типа — convert %F -quality 75 %f.jpg
И всё.

и расширение sh

не нужно это.

amorpher ★★★★★
()

не работает

$ ls *.png
1 2.png
$ sh test.sh 
convert: unable to open image `1.png': Нет такого файла или каталога @ error/blob.c/OpenBlob/2589.
convert: unable to open file `1.png' @ error/png.c/ReadPNGImage/3639.
convert: missing an image filename `1.jpg' @ error/convert.c/ConvertImageCommand/3016.
convert: unable to open image `2.png': Нет такого файла или каталога @ error/blob.c/OpenBlob/2589.
convert: unable to open file `2.png' @ error/png.c/ReadPNGImage/3639.
convert: missing an image filename `2.jpg' @ error/convert.c/ConvertImageCommand/3016.
anonymous
()

Гениально!
Автор достоин 5 звёзд, Хрустальной Совы и малинового пиджака, как лучший знаток клуба, я щитаю

zolden ★★★★★
()

Ты, наверное, расстроишься, что твой скрипт не нужен, но в том же пакете imagemagick'a есть еще одна утилита:

mogrify -format jpg *.png

Ман, думаю, осилишь прочитать сам

YAR ★★★★★
()

А теперь представь, что в именах файлов у тебя есть пробелы.

soomrack ★★★★★
()

#заносим в переменную list список файлов из текущей директории

Зачем в переменную? Лучше сразу СУБД использовать, чтобы наверняка.

for file in *.png; do
convert "$file" "`basename "$file" .png`.jpg"
done

Также, вброса ради, спрошу, а что будет с файлами типа file.PNG?

segfault ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.