2016-12-17 2 views
1

Я запускаю эту команду для создания эскизов с помощью mogrify и отлично работает!Как добавить суффикс в mogrify - imagemagick

#! /bin/bash 
mogrify    \ 
-resize 300x300  \ 
-crop 200x200+0-20 \ 
-gravity center \ 
-format jpg  \ 
-quality 100  \ 
-path thumbs  \ 
*.jpg 

Но я бы хотел добавить суффикс к выходным именам файлов, например. -avatar Таким образом, имя выходного изображения изменяется с testimage.jpg на testimage-avatar.jpg.

Спасибо всем!

+0

Попробуйте с 'convert': http://superuser.com/questions/597428/how-can-i-run-mogrify-but -prefix-на-файла. – SLePort

+0

Привет, увидел, что мне нужно использовать convert для изменения имени. Теперь мне просто нужно понять, как добавить суффикс вместо префикса. – Mensur

ответ

4

Я не думаю, что вы можете сделать это с mogrify, но вы можете использовать convert:

convert result.png -set filename:new '%t-avatar' %[filename:new].jpg 

и вы должны положить его в цикле по всем файлам JPEG:

shopt -s nullglob 
for f in *.jpg; do 
    convert "$f" -set filename:new "%t-avatar" "%[filename:new].jpg" 
done 

В качестве альтернативы вы можете сохранить свою оригинальную команду mogrify, которая на самом деле более эффективна, чем convert, а затем зайдите в каталог thumbs и используйте rename, чтобы положить avatar бит:

rename --dry-run -X --append="-avatar" *.jpg 

Пример вывода

'a.jpg' would be renamed to 'a-avatar.jpg' 
'image.jpg' would be renamed to 'image-avatar.jpg' 
+0

Работал как шарм с переименованием :) – Mensur