如何使用find递归转换JPG图像?

cla*_*ard 2 directory bash recursion find

基本上我想做的是递归搜索工作目录,然后使用给定的路径来调整图像大小.例如,找到所有*.jpg文件,将其大小调整为300x300并重命名为whatever.jpg.

我是否应该采取一些行动$(find | grep *.jpg)来获取路径?当我这样做时,输出是没有用引号括起来的目录,这意味着我必须在它有用之前插入它们,对吧?

tha*_*azi 6

我使用mogrifyfind.

可以说,我需要嵌套文件夹/另一个/文件夹/*.jpg中的所有内容都在*.png中

find . -name "*.jpg" -print0|xargs -I{} -0 mogrify -format png {}

&&稍作解释:

find . -name *.jpeg - 找到嵌套文件夹中的所有jpeg.
-print0- 打印所需的文件名,无需令人讨厌的惊喜(例如:文件名空间分隔)
xargs -I {} -0- 使用mogrify逐个处理文件

最后那些{}只是查找结果的虚拟文件名.