pdfgrepを使用して、マッチング前のn行とマッチング後のm行を印刷する方法。
オプションが-C
1行以上に拡張されないようです。おそらくpdfgrepの出力を別のプログラムにパイプすることが可能であるか、それを実行するpdfgrepの代替案があるかもしれません。
答え1
-A
、、GNU -B
、pdfgrep 2.0を使用するのと同じようにうまく機能します。-C
grep
いつでも次のものを使用できます(GNU仮定grep
)。
pdftotext file.pdf - | grep -A/B/C...
(私の場合は両方を使用してもはるかに速いようですpoppler
。)
または、複数のファイルを処理するには、次のようにしますzgrep
。
for file in ./*.pdf; do
pdftotext "$file" - | grep --label="$file" -H ...
done
(-layout
オプションを追加すると、より近い結果が得られます。複数の単語で構成される文字列を検索するのに役立つように、連続したpdftotext
空白文字を単一の空白に圧縮してスルーの出力をパイプすることもできます。)pdfgrep
pdftotext
tr -s '[[:space:]]' '[ *]'