Hallo zusammen.
Ich habe ein script im Netz gefunden, um pdf-Dateien nach Wörtern zu durchsuchen. Funktioniert super, aber: Die Dateien dich ich durchsuche, haben ziemlich lange Namen, so dass diese nicht komplett angezeigt werden. Wie kriege ich das hin, dass das Meldungsfenster entsprechend der Dateinamen breiter wird? Hier das script:
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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | #!/bin/bash IFS=" " # Select Directory NEWPATH=$(zenity --file-selection --directory --title="Wähle einen Ordner") if [ -z "$NEWPATH" ]; then echo 'Keinen Ordner ausgewählt' exit 1 fi cd $NEWPATH files=$(ls *.pdf -1) if [ $? != "0" ]; then zenity -error --text='No files to convert!' exit 3 fi #Get Keyword KEYWORD=$(zenity --entry --text="Gib den Suchbegriff ein" --title="Suche in PDF-Dateien") if [ -z "$KEYWORD" ]; then echo 'No keyword' exit 2 fi #Files text exctraction and matching ( for MYFILE in $files; do result=$(pdftotext $MYFILE - | grep $KEYWORD -i) if [ -n "$result" ]; then echo $MYFILE >> '/tmp/pdfFinder' fi done ) | zenity --progress --title='Processing PDFs' --pulsate --auto-close #Checking Results list=$(cat '/tmp/pdfFinder') if [ -z $list ]; then zenity --error --text='Keine Datei gefunden!' exit 5 fi rm '/tmp/pdfFinder' #Show List until user exits the program or selects a file while [ 1 ]; do fileToOpen=$(zenity --list --column="FileName" --title="Dateien mit dem Suchbegriff \"$KEYWORD\"" $list) if [ $? == '0' ]; then if [ -z "$fileToOpen" ]; then zenity --error --text='No file Selected' else #Running pdf viewer already looking for our word evince --find=$KEYWORD $fileToOpen fi else exit 4 fi done |
Im Anhang das Ergebnis die Ausgabe als Bild. Danke für Tipps,
Suwo
Bearbeitet von rklm:
Syntaxhighlighting. Bitte beachte Forum/Syntax!