bash - 如何在bash脚本中将一个文件夹中的所有tif文件转换为pdf并保存在另一位置而不循环?

标签 bash

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/

相关文章:

Linux:程序的 CPU 和内存使用情况

linux - 在 Unix while-do 循环中,比较条件失败

linux - 如何从文件中选择随机行

linux - ssh 命令输出以保存在 shell 脚本中的文本文件中

java - 在eclipse中执行bash脚本

linux - su下如何运行sudo?

linux - GREP 在部分行中使用关键字文件

linux - 从 bash 将特定的十六进制模式写入文件

linux - 计算所有文件和文件夹,包括隐藏在 bash 中的文件和文件夹

linux - Alpine apk : List all available package versions