ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

pdfgrep

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist mit keiner aktuell unterstützten Ubuntu-Version getestet! Bitte teste diesen Artikel für eine Ubuntu-Version, welche aktuell unterstützt wird. Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Wiki/Icons/terminal.png Mit pdfgrep (get regularexpression) lassen sich PDF-Dateien, welche Text enthalten, nach Suchmustern durchsuchen. Diese Suchmuster werden "regular expressions" genannt. Sie sind vielfältig einsetzbar und werden zum Beispiel auch von grep verwendet. Weitere Informationen zu Regular Expressions finden sich im Artikel grep und im Wikipedia-Artikel Regulärer Ausdruck.

Installation

Zur Installation [1] ist folgendes Paket notwendig:

  • pdfgrep (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install pdfgrep 

Oder mit apturl installieren, Link: apt://pdfgrep

Benutzung

Mit pdfgrep lassen sich eine oder mehrere PDF-Dateien nach Zeichenketten durchsuchen, die auf das angegebene Muster passen. Der allgemeine Aufruf erfolgt über den Befehl [2]:

pdfgrep OPTIONEN MUSTER DATEI(EN) 

Es kann auch ein Ordner angegeben werden und dieser dann vom Programm nach PDF-Dateien, die die angegebene Zeichenkette enthalten, untersucht werden. Suchtreffer können farblich hervorgehoben werden. Als weitere Features kann mit Hilfe entsprechender Optionen zum Beispiel auch die Seitenzahl ausgegeben werden, auf welcher der Treffer erfolgt ist, oder das Programm angewiesen werden, Groß- und Kleinschreibung zu ignorieren. Pdfgrep arbeitet ähnlich wie grep, allerdings nicht auf Zeilen-, sondern auf Seitenbasis.

Optionen

Übersicht über die anwendbaren Optionen
Kurzform Langform mit ZUSATZANGABEN Beschreibung
-i --ignore-case Ignoriert Groß- und Kleinschreibung.
-H --with-filename Gibt den Dateinahmen für jede Übereinstimmung aus (Standardeinstellung beim Durchsuchen von mehreren Dateien).
-h --no-filename Der Dateiname wird bei der Ausgabe unterdrückt (Standardeinstellung beim Durchsuchen von nur einer Datei).
-n --page-number Gibt bei jeder Übereinstimmung die Seitennummer, auf welcher sie gefunden wurde, aus.
-R,-r --recursive Durchsucht Verzeichnisse rekursiv.
--exclude=GLOB Überspringt Dateien, welche GLOB heißen bzw. GLOB im Namen beinhalten. Diese Option hat Vorrang vor der Option --include.
Hinweis: Die Optionen --include und --exclude lassen sich nur auf Dateien anwenden, die über die Option --recursive gefunden wurden, und nicht auf Dateilisten.
--include=GLOB Durchsucht nur Dateien, welche GLOB heißen bzw. GLOB im Namen beinhalten. Standardeinstellunge ist *.pdf. Weitere Informationen unter --exclude.
-c --count Unterdrückt die normale Ausgabe. Stattdessen wird lediglich die Anzahl der Übereinstimmungen pro Eingabedatei ausgegeben.
-C --context ANZAHL Gibt um jede Übereinstimmung die angegebene ANZAHL von Zeichen aus dem Kontext mit aus. Da pdfgrep versucht, die Wortgrenzen mit zu berücksichtigen, kann die tatsächliche Anzahl von ausgegebenen Kontextzeichen variieren. Wenn für ANZAHL "line" angegeben wurde, wird die ganze Zeile ausgegeben. Wenn diese Option nicht gesetzt wird, druckt pdfgrep Zeilen nicht länger als Terminalbreite.
-q --quiet Unterdrückt die normale Ausgabe auf der Standardausgabe (stdout). Lediglich Fehlermeldungen werden angezeigt und Exit-Codes zurückgegeben.
--color WANN Gibt Dateinamen, Seitenzahlen und Suchübereinstimmungen in Farbe aus. Möglich für WANN sind folgende Werte: always gibt immer in Farbe aus, auch wenn die Standardausgabe (stdout) nicht im Terminal erfolgt; never verwendet niemals Farben; auto gibt nur im Terminal in Farbe aus (Standardeinstellung ist auto).
--unac Entfernt Akzente und Ligaturen aus Suchmuster und den PDF-Dokumenten. Dieses Feature ist hilfreich, wenn z.B. nach einem Wort mit 'ae' gesucht werden soll, aber die PDF-Datei stattdessen nur ein Einzelzeichen 'æ' verwendet. Diese Option ist experimentell und nur verfügbar, wenn pdfgrep mit unac-Unterstützung kompiliert worden ist.
--help Gibt eine kleine Übersicht über die Optionen aus.
-V --version Gibt Versionsinformationen aus.

Beispiele

  • Durchsucht die Dateien Beispiel_1.pdf und Beispiel_2.pdf im aktuellen Arbeitsverzeichnis ~/Dokumente nach der exakten Zeichenkette Ubuntu. Die Treffer werden unter Angabe des Dateinamens auf der Standardausgabe ausgegeben.

    cd ~/Dokumente
    pdfgrep Ubuntu Beispiel_1.pdf Beispiel_2.pdf 
  • Durchsucht alle Dateien mit der Dateiendung *.pdf (* = unabhängig vom genauen Namen) im Verzeichnis ~/Dokumente nach der Zeichenkette ubuntu, unabhängig von Groß- und Kleinschreibung. Die Treffer werden unter Angabe des Dateinamens auf der Standardausgabe ausgegeben.

    pdfgrep -i ubuntu ~/Dokumente/*.pdf 
  • Durchsucht rekursiv (-r) das Verzeichnis ~/Dokumente sowie dessen Unterordner nach PDF-Dateien, in welchen die Zeichenkette ubuntu auftritt, unabhängig von Groß- und Kleinschreibung (Option -i). Die Treffer werden unter Angabe des Dateinamens und der Seitennummer (Option -n) auf der Standardausgabe ausgegeben.

    pdfgrep -rni ubuntu ~/Dokumente 
  • Durchsucht rekursiv (-r) das Verzeichnis ~/Dokumente sowie dessen Unterordner nach PDF-Dateien, in welchen die Zeichenkette ubuntu auftritt, unabhängig von Groß- und Kleinschreibung (Option -i). Die genaue Ausgabe der Treffer wird unterdrückt, stattdessen wird lediglich die Anzahl der Treffer pro Datei (Option -c) auf der Standardausgabe ausgegeben.

    pdfgrep -ric ubuntu ~/Dokumente 
  • Durchsucht rekursiv (-r) das Verzeichnis ~/Dokumente sowie dessen Unterordner nach PDF-Dateien, in welchen die Zeichenkette ubuntu auftritt, unabhängig von Groß- und Kleinschreibung (Option -i). Dateien, welche exakt datei_1.pdf heißen oder xyz im Namen beinhalten, werden ignoriert.

    pdfgrep -ri --exclude=datei_1.pdf --exclude='*xyz*' ubuntu ~/Dokumente 

Diese Revision wurde am 7. April 2018 20:46 von ubot erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Shell, PDF