将 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
,而不是 mogrify
(magick 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
的最短匹配。
我正在尝试自动将图像转换为指定的 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
,而不是 mogrify
(magick 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
的最短匹配。