Bash转换多个子目录中的PDF文件

时间:2018-10-18 10:42:59

标签: linux bash pdf type-conversion

我正在尝试将2,432个子目录(每个文件夹一个PDF文件)中的PDF文件转换为HTML文件。

例如,我尝试了一些

的变体
find . -type d | while read d; for file in *.pdf; do pdftohtml -c -i -s "$file"; done

for f in ./*/*.pdf; do pdftohtml -c -i -s "$file"; done

没有成功。我也尝试了一些其他方法,但是这次我什么也无法工作。

我知道部分代码有效,因为我可以将多个PDF文件放在一个文件夹中并使用

for file in *.pdf; do pdftohtml -c -i -s "$file"; done

将该文件夹中的所有文件递归转换为HTML。

有没有一种方法可以搜索每个文件夹并使用bash脚本转换每个文件?还是这一次我必须要做一个文件夹?

3 个答案:

答案 0 :(得分:1)

您可以将@Entity class Model(@field:Id val id: UUID, var name: String) { @Column @Type(type = "com.dal.type.GenericArrayUserType") private val tagsProjection = arrayOf<UUID>() } 命令与选项find一起使用来触发转换:

-exec

对找到的每个pdf文件执行find /path/to/your/root/pdf/folder -type f -name "*.pdf" -exec bash -c 'pdftohtml -c -i -s "$1"' _ {} \; 。请注意,pdftohtml代表pdf文件。

答案 1 :(得分:0)

您的第二条命令似乎正确。只有一个小错误

  

for f in ./*/*.pdf; do pdftohtml -c -i -s "$file"; done

您写了for f,但使用了$file。试试

for f in ./*/*.pdf; do pdftohtml -c -i -s "$f"; done

答案 2 :(得分:0)

使用:

find . -name \*.pdf -exec pdftohtml -c -i -s {} \;