Linux批量转换:使用转换更改jpg的质量但保留其名称

Fra*_*lea 40 linux imagemagick

如果我转换我的图像

convert -quality 80% *.jpg
Run Code Online (Sandbox Code Playgroud)

它可以工作,但软件会将文件名更改为它选择的第一个文件名.如何保留名称,甚至用较低质量的图像替换以前的图像.

Zso*_*kai 75

试试这个:

mogrify -quality 80% *.jpg
Run Code Online (Sandbox Code Playgroud)


rin*_*rer 12

转换命令帮助:

convert input-file [options] output-file

现在一个小脚本将所有jpg文件转换为当前目录下80%的原始质量

for file in *.jpg; do
  convert "$file" -quality 80% "$file"
done;
Run Code Online (Sandbox Code Playgroud)

  • 无用的`ls`,因为它可以缩短为`for f in*jpg`.而mogrify可以同时处理多个文件. (3认同)
  • @ringbearer这不是一个好方法.需要另一个进程,并且对于包含空格的文件失败.除此之外,这是一个很好的答案. (2认同)