我正在尝试使用名为 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/