Hallo ich möchte in der Shell gerne PDF Dateien durchsuchen lassen und (optimalerweise) das Ergebnis als Seite zurück bekommen. Das ich z.b. den Suchbegriff "suchmich" eingebe und das ganze Verzeichnis inkl. aller Dateien durchsucht wird. Das Ergebnis bzw. die Seite in der das Wort vorkommt sollte mir zurück gegeben werden. Geht sowas? Oder das ich PDF Dateien nach Schlüsselwörter zerlege und in eine CSV umwandel?
PDF Durchsuchen in der Shell
Anmeldungsdatum: Beiträge: 806 |
|
||||
Supporter, Wikiteam
Anmeldungsdatum: Beiträge: 8616 Wohnort: Münster |
Teillösung: Eine einfache Suche nach Begriffen gelingt mit den Programmen strings und grep. strings kann jede Datei nach druckbaren Zeichenketten durchsuchen, also auch PDF. grep filtert nach Zeichenketten. Zu den umfangreichen Möglichkeiten dieser Programme konsultiere das feine Manual:
Das Grundmuster für eine Lösung Deines Problems wäre z.B.
aufgerufen in dem zu untersuchenden Verzeichnis. Wenn es hier sehr viele Dateien gibt, verwendest Du besser xargs. Dies zeigt Dir allerdings nur die Datei(en), in denen der Suchbegriff vorkommt und ggf. (Option von grep) die Umgebung des Vorkommens. Eine Volltextsuche kann sehr lange dauern und erhebliche Ressourcen binden! Anderer Ansatz: grep kann auch Binärdateien durchsuchen, gibt dann aber nur ein Ja/Nein-Ergebnis zurück. Um in einem PDF die Seite zu finden, benötigst Du ein Programm, welches die Seitenstruktur versteht. |
||||
Ehemalige
Anmeldungsdatum: Beiträge: 4403 Wohnort: Sachsen |
Ob ein Suchbegriff in einem PDF vorkommt kannst du so testen:
pdfinfo und pdftotext findest du im Paket poppler-utils. |
||||
Anmeldungsdatum: Beiträge: 11179 Wohnort: München |
Probier es mal mit pdfgrep - mit Ausgabe der Seite (und der Zeile mit dem Treffer) wäre das z.B.: pdfgrep -n "suchmich" *.pdf Bzw. rekursiv in einem Verzeichnis und seinen Unterordnern: pdfgrep -rn "suchmich" |
||||
Anmeldungsdatum: Beiträge: 7174 Wohnort: Wolfen (S-A) |
Da dachte ich auch an
Das wäre dann ein 2. Schritt: den Text der PDFs zu analysieren und dann (als logische Auswertung !) in ein CSV umzuwandeln. Wenn Du dazu konkrete Hilfestellung möchtest, müsstest Du mal eine Beispieldatei geben, anhand der wir die Details angucken können. LG, track |
||||
(Themenstarter)
Anmeldungsdatum: Beiträge: 806 |
Vielen Dank. Es sind gute Ideen dabei die mich inspirieren damit zu experimentieren! |