我正在尝试convert -resize 1024X768 source.png dest.jpg
在一系列图像上使用该命令。我需要将它应用于我可以执行的所有图像,convert -resize 1024X768 *.png
但我想知道如何提供与目标相同的文件名。
我仅以 convert 命令为例。
for
命令行用“试运行”测试,
for i in *.png;do echo convert -resize 1024X768 "$i" "${i/.png}.jpg";done
Run Code Online (Sandbox Code Playgroud)
当它的输出看起来不错时,删除echo
并进行转换,
for i in *.png;do convert -resize 1024X768 "$i" "${i/.png}.jpg";done
Run Code Online (Sandbox Code Playgroud)
find
和rename
如果你想避免 bash 中的循环,你可以使用find
,
find -maxdepth 1 -name "*.png" -exec echo convert -resize 1024X768 {} {}.jpg \;
Run Code Online (Sandbox Code Playgroud)
当它的输出看起来不错时,删除 echo 并进行转换,
find -maxdepth 1 -name "*.png" -exec convert -resize 1024X768 {} {}.jpg \;
Run Code Online (Sandbox Code Playgroud)
之后,您可以使用rename
使目标文件名更好(修剪笨拙的双扩展名)
rename -n s/.png.jpg$/.jpg/ *.png.jpg
Run Code Online (Sandbox Code Playgroud)
当它的输出看起来不错时,删除-n
并进行真正的重命名,
rename s/.png.jpg$/.jpg/ *.png.jpg
Run Code Online (Sandbox Code Playgroud)
可能有一些方法可以一步完成此操作(无需重命名),但我不知道如何操作。也许有人会插话并描述一种方法。
归档时间: |
|
查看次数: |
70 次 |
最近记录: |