【问题标题】:ImageMagick using convert and rename outputImageMagick 使用转换和重命名输出
【发布时间】:2014-07-17 12:46:39
【问题描述】:

我是一个目录,我有几个文件名,例如 13992.jpg 13993.jpg 13994.jpg 13995.jpg ...

如何使用 convert 重命名这些文件? 我试过了

 convert -thumbnail 62 %d.jpg[11000-19000] $d_thumb.jpg

但它不起作用... 有什么建议吗?

【问题讨论】:

    标签: linux bash imagemagick


    【解决方案1】:

    你可以使用:

    convert -thumbnail 62 -set filename:f '%d/%t' %d.jpg[11000-19000] %[filename:f]_thumb.jpg
    

    诀窍是使用自定义属性filename:f 来存储输入文件名,路径为%d/,不带扩展名%t。该属性用于创建输出文件名。

    参考:

    https://imagemagick.org/script/command-line-options.php#set https://imagemagick.org/script/escape.php

    【讨论】:

    • 虽然此命令可能有助于回答此问题,但仅代码回答质量不高。最好解释所有选项的作用并链接到相关文档。
    【解决方案2】:

    你可能想循环运行转换,比如

    for pic in *.jpg; do
        echo convert "$options" "$pic" "${pic%.*}.thumb.jpg"
    done
    

    考虑一下这个重命名的小“技巧”​​:

    pic=foo123     # file name stripped of extension
    echo "convert options..." $pic{,.thumb}.jpg
    

    【讨论】:

      【解决方案3】:

      你可以拥有

      for IMG in 1[1-8]???.jpg 19000.jpg; do
          echo convert -thumbnail 62 "$IMG" "${IMG%.jpg}_thumb.jpg"
      done
      

      如果已经正确,请删除echo

      【讨论】:

      • 请尝试。 IMG 行上的 1[1-9]???.jpg 可能无法扩展到匹配文件列表。还缺少一个双引号
      • 哦,是的,我错过了结尾的报价。
      • /usr/local/bin/foob:第 3 行:在寻找匹配的 `"' 时出现意外 EOF - 缺少右引号的结果
      猜你喜欢
      • 2012-04-17
      • 2013-05-17
      • 2016-01-17
      • 2021-04-07
      • 2021-02-24
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 2020-06-29
      相关资源
      最近更新 更多