我在一个文件夹中有很多webp格式的图像,但有.jpg的扩展名
ABC-test.jpg放在
这是一个webp格式的图像。我希望它以.png格式转换为具有相同名称的格式,因为我使用了此命令并且它有效
找 。 -name“* .jpg”-exec webp {} -to {} .png \;
它将所有webp图像转换为.png,但问题是它保存的图像如下:
ABC-test.jpg.png
如何在没有.jpg扩展名的情况下保存它
ABC-test.png
如果您有很多转换/重命名,我建议您使用GNU Parallel,不仅可以通过并行执行它们来更快地转换它们,还可以利用修改文件名的功能。
你想要的命令是:
parallel dwebp {} -o {.}.png ::: *.jpg
其中{.}
的意思是“没有原始扩展名的文件名”。
如果您想要递归到子目录中,您可以使用:
find . -name "*.jpg" -print0 | parallel -0 dwebp {} -o {.}.png
如果您想要进度表或“估计到达时间”,您可以在--progress
命令后添加--eta
或parallel
。
如果你想看看GNU Parallel会运行什么,而不实际运行任何东西,添加--dry-run
。
在这个年代,CPU正在变得“更胖”(更多内核)而不是更快,我向你推荐GNU Parallel。
一个好的事情是使用sed和mv。它匹配模式并替换为较新的模式。
for file in *.jpg;
do
mv "$file" "`echo $file | sed s/.jpg/.png/`"
done
如果你想保留旧文件而不是mv,你可以使用cp