将 mogrify 与 Image Magick 一起使用时如何重命名图像?

How do I rename images when using mogrify with Image Magick?

我正在尝试自动将图像转换为指定的 tif 格式。我让它转换得很好,但我还需要在文件名末尾和每个转换文件的扩展名之前添加“_GS”。以下是我所拥有的,但没有找到将“_GS”添加到文件名的解决方案。在此先感谢您的帮助。

for f in "$@"
do
    echo "$f"
/usr/local/bin/mogrify -density 300 -resize 1000x1000 -type grayscale -define tiff:endian=msb -compress LZW -format tif "$f" [0] 
done

项目 1:使用 Image Magick,要创建一个新文件而不是覆盖现有文件,请使用 convert,而不是 mogrifymagick convert 对于较新版本的 IM)。

项目 2:您可以使用 shell 参数扩展来删除扩展名,然后从中构建新文件名和新后缀:

for f in "$@"
do
    echo "$f"
    /usr/local/bin/convert "$f" -density 300 -resize 1000x1000 -type grayscale \
      -define tiff:endian=msb -compress LZW -format tif "${f%.*}_GS.tiff"
done

${variable%pattern} returns variable 的扩展,从末尾删除了 pattern 的最短匹配。