使用 pdfgrep 打印匹配前的 n 行和匹配后的 m 行

使用 pdfgrep 打印匹配前的 n 行和匹配后的 m 行

如何使用 pdfgrep 打印匹配前的 n 行和匹配后的 m 行。

-C选项似乎没有超出一行。也许可以将 pdfgrep 的输出通过管道传输到另一个程序,或者有一种 pd​​fgrep 的替代方案可以做到这一点。

答案1

-A, -B,-C工作正常,就像使用 GNUgrep和 pdfgrep 2.0 对我来说。

您始终可以使用(假设 GNU grep):

pdftotext file.pdf - | grep -A/B/C...

(就我而言,即使两者都使用,这似乎也快得多poppler)。

或者要处理多个文件,请执行以下zgrep操作:

for file in ./*.pdf; do
  pdftotext "$file" - | grep --label="$file" -H ...
done

(添加-layout选项 topdftotext似乎给出的结果更接近 的结果。您可能还希望将空格字符序列压缩到一个空格中,以通过管道传输throughpdfgrep的输出来帮助搜索多单词字符串)pdftotexttr -s '[[:space:]]' '[ *]'

相关内容