python-3.x - 如何使用 gnu parallel 编写批处理命令?

标签 python-3.x bash parallel-processing gnu-parallel ocrmypdf

我正在尝试使用名为 ocrmypdf 的包进行一些批处理。

这是一个可以处理 1 个 pdf 文件的命令

ocrmypdf 输入.pdf 输出.pdf

这是一个命令,可以处理我们运行它的目录中的所有 pdf 文件。

parallel --tag -j 2 ocrmypdf '{}' 'output/{}'::: *.pdf

现在,我实际上想对目录中的所有 pdf 文件运行此命令。这个还需要一个参数。

ocrmypdf --sidecar txt/input.txt input.pdf out/output.pdf

我之前尝试重写并行命令,如下所示:

parallel --tag -j 2 ocrmypdf --sidecar txt/{}.txt {}.pdf out/{}.pdf::: *.pdf

但我收到错误:

ocrmypdf:错误:需要以下参数:output_pdf

有人可以帮助我理解我做错了什么吗?谢谢!

最佳答案

这对我有用:

parallel --tag -j 2 ocrmypdf --sidecar txt/{.}.txt {} out/{} ::: *.pdf

如果它不适合您:

  • 识别失败的文件
  • 手动运行失败的文件以检查其是否有效
  • 编辑您的问题以包含失败文件的链接

(运行多个超立方体时还要注意此错误:https://github.com/tesseract-ocr/tesseract/issues/3109#issuecomment-703845274)

关于python-3.x - 如何使用 gnu parallel 编写批处理命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69577142/

相关文章:

python - 无法在centos上执行python.3.5.1

python - 捕获单个任务中的异常并重新启动它们

php - 通过 Bash 的 Mysql View 转储

c# - 如何正确加入多个异步方法的结果?

python - 从多处理 python 函数中提取输出

python - 如何让我的模型遵循 DRY 原则

python-3.x - Tkinter GUI 生成器

bash - 循环后台作业

bash - 在 while 循环中丢失环境

parallel-processing - Gnu parallel 用于复制大量数据(大约 40 GB)