如何使用 pdfgrep 打印匹配前的 n 行和匹配后的 m 行。
该-C
选项似乎没有超出一行。也许可以将 pdfgrep 的输出通过管道传输到另一个程序,或者有一种 pdfgrep 的替代方案可以做到这一点。
答案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
的输出来帮助搜索多单词字符串)pdftotext
tr -s '[[:space:]]' '[ *]'