在 bash 命令中使用通配符匹配的字符串

在 bash 命令中使用通配符匹配的字符串

我想将整个文件夹中的 bmp 文件转换为 png,我只是想知道是否可以使用 bash 中的一行程序来实现,或者是否需要为此编写一个脚本。

我可以像这样访问之前通配符匹配的字符串吗,以便例如lena.bmp将其转换为lena.png

convert *.bmp <matchedString>.png

答案1

convert *.bmp something.png将扩大到全部bmp 文件:

convert a.bmp b.bmp c.bmp ... z.bmp something.png

如果要将它们全部 1:1 映射,则需要一个循环:

for b in *.bmp; do
    p=${b%.bmp}.png
    convert "$b" "$p"
done

3.5.3 Shell参数扩展

相关内容