【问题标题】:using mogrify on lot of images gives error在大量图像上使用 mogrify 会出错
【发布时间】:2015-03-23 14:02:37
【问题描述】:

我正在使用 mogrify 使用以下命令调整目录中的图像大小

    mogrify -resize 100x100 *.jpg

由于图片数量巨大,我收到以下错误

    /usr/bin/mogrify: Argument list too long

有什么建议吗?

谢谢

【问题讨论】:

    标签: linux image ubuntu mogrify


    【解决方案1】:

    实际上,答案非常简单。与其让 shell 扩展参数列表(它无法处理),不如让 ImageMagick 在内部扩展列表本身,方法是用单引号保护 shell 的参数。

    所以,你的命令变成:

    mogrify -resize 100x100 '*.jpg'
    

    如果内置 glob 表达式不适合您(例如特殊文件排序),您也可以使用 special character '@':

    mogrify -resize 100x100 @my_jpegs.txt
    

    【讨论】:

      【解决方案2】:

      想到findxargs,例如。

      find . -name \*.jpg -exec mogrify '{}' -resize 100x100 \;
      

      干杯,

      【讨论】:

      • 这对我没有帮助。大多数 shell 都会限制命令行的长度。我们可以通过使用 ImageMagick 文件名通配方法来解决这个问题。所以不要使用mogrify -resize 50% *.jpg,而是使用mogrify -resize 50% "*.jpg"。我使用这个命令:find . -name \*.png -exec mogrify '{}' -format jpg "*.png" \; 它适用于 130k+ 个文件。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多