例如,我有一个名为 Images 的文件夹,里面有 26 个文件夹,分别为 a、b、c、d,每个文件夹包含多个图像,格式分别为 jpg、png、jpeg。如何将所有这些图像转换为 webp 并删除原始图像,或者将转换后的文件复制到具有相同子文件夹名称的另一个位置。
答案1
imagick
首先我建议在你的 Ubuntu 发行版上安装该包。
如果您没有安装,请运行sudo apt install imagemagick
命令。在终端上打开包含要转换的扩展名的文件的子文件夹。
之后在终端上运行以下命令:
find . -type f -name "*.png" -exec mogrify -format webp {} \; -print && find . -type f -name "*.jpg" -exec mogrify -format webp {} \; -print && find . -type f -name "*.jpeg" -exec mogrify -format webp {} \; -print
您还可以使用正则表达式将以上所有命令组合在单个表达式中:
find . -type f -regex ".*\.\(jpg\|jpeg\|png\)" -exec mogrify -format webp {} \; -print
要删除剩余文件(原始文件),请随后运行以下命令:
find . -type f -regex ".*\.\(jpg\|jpeg\|png\)" -exec rm {} \; -print