Recoll ist eine fantastische Volltext-GUI-Suchanwendung für Unix/Linux, die Dutzende verschiedener Formate unterstützt, einschließlich PDF. Es kann sogar die genaue Seitenzahl und den Suchbegriff einer Anfrage an den Dokumentenbetrachter weitergeben und ermöglicht es Ihnen so, direkt von seiner GUI aus zum Ergebnis zu springen.
Recoll verfügt außerdem über eine funktionsfähige Befehlszeilenschnittstelle und eine Webbrowser-Schnittstelle.
Es gibt pdfgrep, das genau das tut, was sein Name vermuten lässt.
pdfgrep -R 'a pattern to search recursively from path' /some/path
Ich habe es für einfache Suchen verwendet und es hat gut funktioniert.
(Es gibt Pakete in Debian, Ubuntu und Fedora.)
Seit Version 1.3.0 unterstützt pdfgrep die rekursive Suche. Diese Version ist in Ubuntu seit Ubuntu 12.10 (Quantal) verfügbar.
Ihre Distribution sollte ein Dienstprogramm namens pdftotext bereitstellen :
find /path -name '*.pdf' -exec sh -c 'pdftotext "{}" - | grep --with-filename --label="{}" --color "your pattern"' \;
Das "-" ist notwendig, damit pdftotext auf stdout ausgegeben wird, nicht auf Dateien. Der --with-filename und --label= Optionen setzen den Dateinamen in die Ausgabe von grep. Der optionale --color flag ist nett und sagt grep, dass es Farben auf dem Terminal ausgeben soll.
(Unter Ubuntu pdftotext wird vom Paket xpdf-utils bereitgestellt oder poppler-utils .)
Diese Methode mit pdftotext und grep , hat einen Vorteil gegenüber pdfgrep wenn Sie Funktionen von GNU grep verwenden möchten dass pdfgrep unterstützt nicht. Hinweis :pdfgrep-1.3.x unterstützt -C Option zum Drucken der Kontextzeile.