从控制台修改多个图像

从控制台修改多个图像

我知道convert从一种图像格式到另一种图像格式的转换。mogrify也可以调整多幅图像的大小和比例。但是我如何修改目录内的所有图像,包括子目录。例如,将文件夹及其子文件夹中的每一幅图像从一种格式 png 更改为另一种格式 jpg,或者将文件夹及其子文件夹中的所有图片大小调整为所需的大小?

答案1

由于 mogrify 接受以换行符分隔的文件列表,因此您可以执行以下操作:

mogrify -equalize $(find -iname '*.png')

我使用均衡作为示例,但重要的是最后一个。

  • 文件名可以是任何打印出文件列表的表达式,我以此find -iname '*.png'为例。您可以随意使用该find命令,直到它给出您想要的文件列表。

重要的是,无论您输入什么命令,$()都会返回带有正确路径的文件列表。ls -Ra只会返回文件名。find | grep png另一方面, 的输出如下所示:

./Webcam/lenovo-maverick-20110101-1.png
./lenovo-maverick-20110101-2.png
./lenovo-maverick-20110101-1.png

其中.表示“当前工作目录”。

相关内容