调整多个文件的大小并正确重命名它们

sar*_*nas 3 command-line

我有一个命令行问题 - 可能是一个很简单的问题,但似乎我无法在 google 中输入正确的词。

所以我想使用 imagemagick 调整文件夹中所有 *.png 图像的大小 - 这类似于“convert -resize 80%”,我想要“filename”?“小文件名”

所以我试过:

for f in *.png ; convert -resize 80% "$f" "small_$f" ; done
Run Code Online (Sandbox Code Playgroud)

但是“意外标记附近的语法错误`convert”-我想您不能将 imagemagick 命令导入 bash 吗?

如果你能帮忙,我会很高兴。

Rus*_*mov 5

你错过了do之后for ...的字符串。这是一个稍微修改过的脚本,但是如果您do在其中添加缺失的内容,您的版本也可以使用。

for f in *.png
  do
  echo "Converting $f."
  convert "$f" -resize 80% "${f/.png/-80%.png}"
done
Run Code Online (Sandbox Code Playgroud)

此处更改名称的工作原理如下:对于$f作为文本字符串的每个,找到它的.png部分并将其更改为-80%.png