gpt4 book ai didi

linux - 如何通过以新名称保存调整大小的版本来调整图像大小?

转载 作者:太空宇宙 更新时间:2023-11-04 03:46:53 26 4
gpt4 key购买 nike

感谢您成为这个令人惊叹的社区的一部分。
在这里,我一直在与我的脚本作斗争,看起来我需要提示。

我有以下文件结构:

Mother_Directory/
./child1_Directory
file1.jpg
file2.JPG
file3.jpg
./child2_Directory
file1.jpg
file2.JPG
file3.jpg
./child3_Directory
file1.jpg
file2.JPG
file3.jpg

现在我想使用 imagemagick 的转换函数对子目录中的这些文件执行各种操作(例如调整大小),并将它们以新名称保存在 Mother_Directory_2/ (位于外部硬盘驱动器上)中。
例如external_HD_path/Mother_Directory_2/child2_Directory/resized_file1.jpg

这是我的代码:

for f in `find . -name "*.*"`; do convert $f -resize 50% ../Mother_Directory_2/$f; done

这个应该将新文件保存在 ../Mother_Directory_2/ 中,
但运气不好(即使没有更名逻辑)。我倾向于相信我想要实现的目标是微不足道的,但我不知道在哪里寻找提示。有简单的方法吗?

最佳答案

我认为问题在于您在目标目录中使用 $f 的方式。 $f 通常将包含正在转换的文件的完整路径。相反,您可以尝试在脚本中使用“basename”。

for f in `find . -name "*.*"`; do base=$(basename "$f") ; convert $f -resize 50% ../Mother_Directory_2/$base; done

关于linux - 如何通过以新名称保存调整大小的版本来调整图像大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27883182/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com