Hallo Zippo,
wow, danke, Deine Idee samt deren Umsetzung gefällt mir sehr gut! So werden Suche und Konvertierung gleich in einem einzigen Skript gekoppelt ausgeführt. Das ist – auch wegen der Hervorhebung der Suchtreffer – ein Gewinn an Komfort; die Konvertierung muss in der Praxis zudem nur im Bedarfsfall vorgenommen werden und das gespeicherte Original-PDF genügt hierfür als Grundlage.
Falls ich nicht einem Denkfehler unterliege, lässt sich Dein Skript noch etwas vereinfachen:
Die Umwandlung in Großbuchstaben (und somit die Datei Output.ps!) ist überflüssig, wenn man grep mit der Option -i (--ignore-case) verwendet.
Ebenso überflüssig ist die Verwendung von "cat" und Pipe – an grep kann eine Datei direkt als Argument übergeben werden.
Hier meine vereinfachte Version Deines Skripts im Zusammenhang:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | #!/bin/bash # # Skript zum Durchsuchen von Postbank-pdf-Dateien mit einem vorzugebenden Suchwort # unabhängig von Klein- und Grossschreibung. # Bei einem Treffer wird die pdf-Datei geöffnet und das erste gefundene Suchwort wird angezeigt # # Aufruf in einem Terminalfenster # Übergabeparameter: beliebig viele pdf-Dateinamen durch Leerzeichen getrennt # # ########################################################################################## # # Suchwort einlesen # echo echo "Suchwort für Postbank-pdf-Dateien eingeben" read -p \* suchwort echo echo "Suchwort = $suchwort" # # Start Schleife über alle übergebenen pdf-Dateien # until [ "$1" = "" ] ; do PDF=$(basename "${1}") pdftops "${PDF}" output.ps # Konvertieren nach PostScript # # Mit Suchwort Dateiinhalt durchsuchen # grep -i $suchwort output.ps if [ "$?" -eq "0" ] ; then echo "$suchwort in ${PDF} gefunden!" ps2pdf -dSAFER -dNOPLATFONTS -dEmbedAllFonts=true output.ps "${PDF%.*}-konv.pdf" evince --find=$suchwort "${PDF%.*}-konv.pdf" rm output.ps "${PDF%.*}-konv.pdf" else echo "$suchwort nicht in ${PDF} enthalten !" rm output.ps fi shift done echo |