Переместите файлы, которые Вы хотите держать отдельно. Поднимитесь один уровень, удалите папку. Воссоздайте папку и положите обратно те файлы.
for x in /path/to/source/**/*.ext1; do convert $x ${x:r}.ext2 done
r
в ${x:r}
модификатор истории. Существует краткая форма for
это сохраняет несколько символов.
for x (/path/to/source/**/*.ext1) convert $x ${x:r}.ext2
Я сделал бы это с:
cd path_to_source
find . | sed 's/.ext1$//' | xargs convert {}.ext1 ../path_to_destination/{}.ext2
Вы можете обрабатывать файлы в пакетном режиме с помощью mogrify
и конвертировать из одного формата в другой, используя параметр -path
(начиная с imagemagick v6.2.0
), чтобы указать другой каталог для вывода обработанных изображений:
mogrify -path /path/to/dest_filename -format ext2 /path/to/source_filename/*.ext1
, например,
mogrify -path /home/myjpgs -format jpg /media/images/*.png
преобразует все изображения .png
в каталоге / media / images
в jpg
с тем же именем файла (изменяется только расширение) и сохранением полученного изображения в / home / myjpgs