我在 Ubuntu 上,我有一棵包含 .pdf 文件的文件夹树。我需要将每个转换为 .png 格式。我目前使用的 bash 脚本是:
for f in $(find ./polkadots -name 'image.pdf'); do
convert -transparent white -fuzz 10% $f image.png;
done
我已经单独测试了 for 循环,它可以工作(它会生成我需要转换的 ./polkadots 文件夹下的所有 .pdf 文件的列表):
for f in $(find ./polkadots -name 'image.pdf'); do
echo "$f";
done
我已经单独测试了 imagemagic convert 命令,它可以工作(它将我当前目录中的单个文件从 .pdf 转换为 .png):
convert -transparent white -fuzz 10% image.pdf image.png
但是,当我将它们组合在一起时……控制台坐下来思考了一会儿,然后得出结论……但是没有创建或更改任何文件,也没有产生错误消息。我究竟做错了什么?
编辑:正在创建新的 .png 文件,但它们是在我当前的目录中创建的,而不是在找到 .pdf 的子目录中。我该如何解决?
最佳答案
尝试使用 find
独自的。无需使用循环。
我没有测试过这个命令,但它应该可以工作。find ./polkadots -name 'image.pdf' -exec convert -transparent white -fuzz 10% {} image.png \; -print
-print
最后是可选的。我更喜欢查看哪些文件已被修改。
关于bash - 将文件夹树中的所有 .pdf 文件转换为 .png,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21174733/