如何将文件输出到另一个目录(Poppler - pdftotext)

如何将文件输出到另一个目录(Poppler - pdftotext)

我有一个包含大量 PDF 的目录,我正在使用 Poppler 将其转换为 *.txt 文档pdftotext。我有以下命令来转换所有文件。

for f in *.pdf; do pdftotext $f; done

PDF 位于外部存储设备上,无需任何额外空间。如何将输出重定向到不同的目录?也就是说,每个 PDF 转换时,都会写入另一个位置,而不是写入与 PDF 相同的目录。

答案1

这是 don_crissti 建议的解决方案,我在这里为刚刚开始使用 Unix 和 Linux 的用户提供解释。请随意编辑,因为此摘要是由新手撰写的。

for f in *.pdf; do pdftotext "$f" "/path/to/some/dir/${f%.*}.txt"; done

现在,让我们检查每个命令。这是一个标准的 for 循环,用于迭代当前工作目录中的所有文件。for f in *.pdf。在此命令中,f用作索引。下一个命令将 PDF 转换为文本。这假设用户已经安装poppler:

pdftotext "$f" "/path/to/some/dir/${f%.*}.txt"

"$f"用于保存输入的名称PDF文件并"/path/to/some/dir/${f%.*}.txt"指定输出的路径TXT文件,即目标目录/path/to/some/dir/和输出文件名${f%.*}.txt,输出文件名基本上是输入文件名 ( "$f"),并.pdf通过以下方式从文件名中删除了扩展名参数替换.txt附加后缀。

相关内容