Ubuntu 14.04 Trusty Tahr
Ubuntu 12.04 Precise Pangolin
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.
Zur Installation [1] ist folgendes Paket notwendig:
pdfgrep (universe)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install pdfgrep
sudo aptitude install pdfgrep
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.
Ü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. (Diese Option ist erst ab Ubuntu 12.10 verfügbar.) |
--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. (Diese Option ist erst ab Ubuntu 12.10 verfügbar.) | |
--include=GLOB | Durchsucht nur Dateien, welche GLOB heißen bzw. GLOB im Namen beinhalten. Standardeinstellunge ist *.pdf . Weitere Informationen unter --exclude . (Diese Option ist erst ab Ubuntu 12.10 verfügbar.) | |
-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. |
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 28. Oktober 2016 17:42 von Benno-007 erstellt.