使用 cwebp 批量将图像转换为 webp

使用 cwebp 批量将图像转换为 webp

我正在尝试使用 cwebp 将文件夹中的图像转换为 webp

我选择了@InfinitePrime 解决方案这里

for file in *;
do cwebp -q 50 -m 6 -z 9 $file -o $file.webp;
done;

虽然它可以工作,但输出是 image.jpg.webp。有什么方法可以纠正它吗?

答案1

只需在末尾添加 webp 即可。如果您确实想用 webp 替换 jpg,那么您需要手动想出新名称或事后重命名。您还可以与大量图像列表并行执行此操作以加快速度。您可以尝试以下方法:

for file in *;
do cwebp -q 50 -m 6 -z 9 $file -o $(echo "$file" | sed 's/jpg/webp/');
done;

对于并行尝试这个:

find . -iname '*.jp*g' | parallel 'cwebp -q 50 -m 6 -z 9 {} -o {}.webp'

但是如果您使用 ^ 方法,则之后必须重命名它们。

相关内容