find /home/folder1/folder2/folder3/my\ Raw\ Data/"$1"/"$2"/"$3"/"$4" -type f -name "*.tif" -exec bash -c 'tiff2pdf "$1" -o "${1%.tif}".pdf' - '{}' \;
这是我的 bash 脚本,用于转换 /home/folder1/folder2/folder3/my\Raw\Data/"$1"/"$2"/"$3"/"$4"中的 tif 文件
到 pdf 。输出的 pdf 也将保存在同一位置,但是
我想要在 /home/folder1/folder2/folder3/my\Raw\Data/"$1"/"$2"/"$3"/backup
中输出 pdf。
不使用循环怎么可能?有什么解决办法吗?
最佳答案
这是一种使用 GNU Parallel 并行完成所有任务的方法,无需任何循环:
cd /path/to/tiffs && parallel tiff2pdf {} -o ../backup/{.}.pdf ::: *tif
首先尝试像这样看看它会做什么,而不做任何事情:
cd /path/to/tiffs && parallel --dry-run tiff2pdf {} -o ../backup/{.}.pdf ::: *tif
这是 ImageMagick 的另一种方法:
cd /path/to/tiffs && magick mogrify -path ../backup -format PDF *tif
关于bash - 如何在bash脚本中将一个文件夹中的所有tif文件转换为pdf并保存在另一位置而不循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61061269/