如何为mogrify添加后缀 - imagemagick

Men*_*sur 2 linux bash imagemagick mogrify

我正在运行此命令以使用 mogrify 创建缩略图,效果很好!

#! /bin/bash
 mogrify             \
-resize 300x300     \
-crop 200x200+0-20 \
-gravity center   \
-format jpg       \
-quality 100       \
-path thumbs      \
 *.jpg
Run Code Online (Sandbox Code Playgroud)

但是我想添加的是输出文件名的后缀,例如。-avatar 所以输出图像名称从 testimage.jpg 更改为 testimage-avatar.jpg。

谢谢大家!

Mar*_*ell 6

我不认为您可以使用mogrify,但您可以使用convert

convert result.png -set filename:new '%t-avatar' %[filename:new].jpg
Run Code Online (Sandbox Code Playgroud)

并且您必须将其放入所有 JPEG 文件的循环中:

shopt -s nullglob
for f in *.jpg; do
   convert "$f" -set filename:new "%t-avatar" "%[filename:new].jpg"
done
Run Code Online (Sandbox Code Playgroud)

或者,您可以保留原始mogrify命令 - 这实际上比convert然后进入thumbs目录并用于renameavatar位放入更有效:

rename --dry-run -X --append="-avatar" *.jpg
Run Code Online (Sandbox Code Playgroud)

样本输出

'a.jpg' would be renamed to 'a-avatar.jpg'
'image.jpg' would be renamed to 'image-avatar.jpg'
Run Code Online (Sandbox Code Playgroud)