So durchsuchen Sie PDF-Dateien vom Terminal aus mit pdfgrep

Befehlszeilenprogramme wie grep und ack-grep eignen sich hervorragend, um in Klartextdateien nach Mustern zu suchen, die einem angegebenen regulären Ausdruck entsprechen. Aber haben Sie schon einmal versucht, mit diesen Programmen in einer PDF-Datei nach Mustern zu suchen? Das sollten Sie besser nicht tun! Sie werden kein Ergebnis erhalten, da diese Tools keine PDF-Dateien lesen können, sondern nur Klartextdateien.
pdfgrepist, wie der Name schon sagt, ein kleines Befehlszeilenprogramm, mit dem Sie in einer PDF-Datei nach Text suchen können, ohne die Datei öffnen zu müssen. Es ist wahnsinnig schnell – schneller als die Suche, die von praktisch allen PDF-Dokumentenbetrachtern bereitgestellt wird. Ein großer Unterschied zwischen grep und pdfgrep besteht darin, dass pdfgrep auf Seiten arbeitet, während grep auf Zeilen arbeitet. Es druckt auch eine einzelne Zeile mehrmals aus, wenn in dieser Zeile mehr als eine Übereinstimmung gefunden wird. Sehen wir uns an, wie das Tool genau verwendet wird.
Installation
Für Ubuntu und andere auf Ubuntu basierende Linux-Distributionen ist es ziemlich einfach:
Bei anderen Distributionen geben Sie einfach pdfgrep als Eingabe für den Paketmanager an, und das sollte es installieren. Sie können sich auch die Projekt- GitLab-Seitefalls Sie mit dem Code herumspielen möchten.
Der Testlauf
Nachdem Sie das Tool nun installiert haben, führen wir einen Testlauf durch. Der Befehl pdfgrep hat dieses Format:
pdfgrep [OPTION...] MUSTER [FILE...]MÖGLICHKEIT ist eine Liste mit zusätzlichen Attributen, die dem Befehl zugewiesen werden, z. B. -i oder --ignore-case. Beide ignorieren die Groß-/Kleinschreibung zwischen dem angegebenen regulären Muster und dem entsprechenden Muster in der Datei.
MUSTER ist nur ein erweiterter regulärer Ausdruck.
DATEI ist nur der Name der Datei, wenn sie sich im selben Arbeitsverzeichnis befindet, oder der Pfad zur Datei.
Ich habe den Befehl in der offiziellen Dokumentation zu Python 3.6 ausgeführt. Das folgende Bild ist das Ergebnis.
Die roten Markierungen zeigen alle Stellen an, an denen das Wort „queue“ gefunden wurde. Die Übergabe von -i als Option an den Befehl enthielt Übereinstimmungen mit dem Wort „Queue“. Denken Sie daran, dass die Groß-/Kleinschreibung keine Rolle spielt, wenn -i als Option übergeben wird.
pdfgrep bietet eine ganze Reihe interessanter Optionen. Ich werde hier jedoch nur einige davon behandeln.
- -c oder --count: dies unterdrückt die normale Ausgabe der Übereinstimmungen. Anstatt die lange Ausgabe der Übereinstimmungen anzuzeigen, wird nur ein Wert angezeigt, der die Anzahl der Vorkommen des Wortes in der Datei angibt.
- -p oder --page-count: Diese Option gibt die Seitenzahlen der Übereinstimmungen und die Anzahl der Vorkommen des Musters auf der Seite aus.
- -m oder --max-count [number]: Gibt die maximale Anzahl von Übereinstimmungen an. Das bedeutet, dass der Befehl das Lesen der Datei beendet, wenn die Anzahl der Übereinstimmungen erreicht ist.
Die vollständige Liste der unterstützten Optionen finden Sie in den Manpages oder im pdfgrep-Online Dokumentation. Vergessen Sie nicht, dass pdfgrep mehrere Dateien gleichzeitig durchsuchen kann, falls Sie mit großen Dateien arbeiten. Die Standardfarbe für die Hervorhebung von Übereinstimmungen kann durch Ändern der Umgebungsvariable GREP_COLORS geändert werden.
Abschluss
Wenn Sie das nächste Mal daran denken, eine PDF-Datei zu öffnen, um nach etwas zu suchen, denken Sie daran, pdfgrep zu verwenden. Das Tool ist praktisch und spart Ihnen Zeit.

Schreibe einen Kommentar