我需要使用 Imagemagick 转换大量名为 1a.jpg、2a.jpg、3a.jpg 的图像进行处理并重命名为 1.jpg、2.jpg、3.jpg(在同一目录中)。
Imagemagick命令是这样的,其中n是1、2、3...等。
convert -shave 200x200 -resize 30% na.jpg n.jpg
答案1
你可以尝试这样的事情(ksh/bash/zsh 语法):
for f in [0-9]*a.jpg ; do
convert -shave 200x200 -resize 30% "$f" "${f/a/}"
done
答案2
和zsh
:
autoload zmv # best in ~/.zshrc
shave() convert -shave 200x200 -resize 30% "$@"
zmv -n -p shave '(<->)a.jpg' '$1.jpg'
(删除-n
(空运行),或在-v
满意时替换)。