通过Linux命令将Webp图像转换为PNG

问题描述 投票:1回答:2

我在一个文件夹中有很多webp格式的图像,但有.jpg的扩展名

ABC-test.jpg放在

这是一个webp格式的图像。我希望它以.png格式转换为具有相同名称的格式,因为我使用了此命令并且它有效

找 。 -name“* .jpg”-exec webp {} -to {} .png \;

它将所有webp图像转换为.png,但问题是它保存的图像如下:

ABC-test.jpg.png

如何在没有.jpg扩展名的情况下保存它

ABC-test.png

linux image command webp
2个回答
2
投票

如果您有很多转换/重命名,我建议您使用GNU Parallel,不仅可以通过并行执行它们来更快地转换它们,还可以利用修改文件名的功能。

你想要的命令是:

parallel dwebp {} -o {.}.png ::: *.jpg

其中{.}的意思是“没有原始扩展名的文件名”。

如果您想要递归到子目录中,您可以使用:

find . -name "*.jpg" -print0 | parallel -0 dwebp {} -o {.}.png

如果您想要进度表或“估计到达时间”,您可以在--progress命令后添加--etaparallel

如果你想看看GNU Parallel会运行什么,而不实际运行任何东西,添加--dry-run

在这个年代,CPU正在变得“更胖”(更多内核)而不是更快,我向你推荐GNU Parallel。


0
投票

一个好的事情是使用sed和mv。它匹配模式并替换为较新的模式。

for file in *.jpg;
do
   mv "$file" "`echo $file | sed s/.jpg/.png/`"
done

如果你想保留旧文件而不是mv,你可以使用cp

© www.soinside.com 2019 - 2024. All rights reserved.