pdfgrepを使用して、一致前のn行、一致後のm行を印刷します。

pdfgrepを使用して、一致前のn行、一致後のm行を印刷します。

pdfgrepを使用して、マッチング前のn行とマッチング後のm行を印刷する方法。

オプションが-C1行以上に拡張されないようです。おそらくpdfgrepの出力を別のプログラムにパイプすることが可能であるか、それを実行するpdfgrepの代替案があるかもしれません。

答え1

-A、、GNU -B、pdfgrep 2.0を使用するのと同じようにうまく機能します。-Cgrep

いつでも次のものを使用できます(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空白文字を単一の空白に圧縮してスルーの出力をパイプすることもできます。)pdfgreppdftotexttr -s '[[:space:]]' '[ *]'

関連情報