#bash #imagemagick-convert
#bash #imagemagick-конвертировать
Вопрос:
Я использую следующий код для преобразования всех файлов изображений в каталоге и его подкаталогах из другого формата в формат png.
find $1 -type f -name '*.jpeg' -o -name '*.jpg' -o -name '*.gif' -o -name '*.GIF' -o -name '*.PNG' | xargs -n 1 -I {} convert {} -set filename:base '%i' '%[basename]' '%[filename:base].png'
Изображения преобразуются в png, но я получаю странные результаты.
Изображение abc.jpg преобразуется в abc.jpg.png, в то время как я хочу, чтобы преобразованное изображение имело имя abc.png.
Я не понимаю, что здесь происходит. Кто-нибудь может помочь? Я не хочу использовать morgify.
Ответ №1:
Конвертируйте с тем же базовым именем, но с другим суффиксом:
find ... | xargs -n 1 -I {} convert {} -set filename:base '%d/%t' '%[filename:base].png'
%d
: компонент каталога path
%t
: имя файла без каталога или расширения (суффикс)