我对以下问题感到疑惑;
我使用以下命令在(子)目录中查找 .jpg 文件并将它们转换(mogrify)为 .webp 文件。
find . -name '*.jpg' -execdir mogrify -format webp {} \;
在这种情况下:file.jpg 变成 file.webp(并且 .jpg 被保留)。
我想要的是:
例如:file.jpg 变成 file.jpg.webp(并且保留 .jpg)。
- 我如何修改代码以使其设置.jpg.webp?
- 是否有代码可以检查文件是否已转换,以便它可以通过,除非原始 .jpg 文件较新?
提前致谢!
答案1
您的第一个问题可以很容易地回答:
find . -iname '*.jpg' -exec convert '{}' -format webp '{}'.webp \;
这会:
- 递归查找所有 .jpg 文件,如您的示例所示
- 将每个 .jpg 文件转换为 webp,
convert
而不是mogrify
- 使用您遵循的命名约定:“filename.jpg.webp”
在我的系统上测试得很好...
参考: