针对单个文件,我使用以下ImageMagick命令(如Google 建议所示):
对于png格式
convert file.png -sampling-factor 4:2:0 -strip -quality 85 -interlace PNG -colorspace sRGB file.png
对于 jpg
convert file.jpg -sampling-factor 4:2:0 -strip -quality 85 -interlace JPEG -colorspace sRGB file.jpg
但我需要对子文件夹中的所有 .jpg 做同样的操作。
我尝试了这个:
find ./*.jpg | xargs convert $ -sampling-factor 4:2:0 -strip -quality 85 -interlace JPEG -colorspace sRGB $
所有的图片都被压缩了,但名称都是以第一张图片的名称作为前缀,并加上一个索引。例如:
/img/first-one-0.jpg
/img/first-one-1.jpg
/img/first-one-2.jpg
/img/first-one-3.jpg
...
我该如何批量覆盖原始文件?即使我们有多个子目录:
/img/dir-1/one.jpg
...
/img/dir-2/foo.jpg