【发布时间】:2015-03-23 14:02:37
【问题描述】:
我正在使用 mogrify 使用以下命令调整目录中的图像大小
mogrify -resize 100x100 *.jpg
由于图片数量巨大,我收到以下错误
/usr/bin/mogrify: Argument list too long
有什么建议吗?
谢谢
【问题讨论】:
标签: linux image ubuntu mogrify
我正在使用 mogrify 使用以下命令调整目录中的图像大小
mogrify -resize 100x100 *.jpg
由于图片数量巨大,我收到以下错误
/usr/bin/mogrify: Argument list too long
有什么建议吗?
谢谢
【问题讨论】:
标签: linux image ubuntu mogrify
实际上,答案非常简单。与其让 shell 扩展参数列表(它无法处理),不如让 ImageMagick 在内部扩展列表本身,方法是用单引号保护 shell 的参数。
所以,你的命令变成:
mogrify -resize 100x100 '*.jpg'
如果内置 glob 表达式不适合您(例如特殊文件排序),您也可以使用 special character '@':
mogrify -resize 100x100 @my_jpegs.txt
【讨论】:
想到find或xargs,例如。
find . -name \*.jpg -exec mogrify '{}' -resize 100x100 \;
干杯,
【讨论】:
mogrify -resize 50% *.jpg,而是使用mogrify -resize 50% "*.jpg"。我使用这个命令:find . -name \*.png -exec mogrify '{}' -format jpg "*.png" \; 它适用于 130k+ 个文件。