Hallo Community,
ja ich schon wieder...
Ich habe mich mal wieder an ein neues Skript gewagt und hänge jetzt leider fest.
Es macht was es soll, - nur Falsch =)
Ich habe eine Suchfunktion geschrieben, mit der ich nach bestimmten Teilen in Text Dateien suche.
Die Pfadangaben werden dann (wahrscheinlich auf die umständlichste Weiße die es gibt) gekürzt um den reinen Datei-Name und/oder den korrekten Pfad zu erhalten.
Per kdialog wird mir dann auch alles richtig in Form einer Radioliste angezeigt. Jedoch sind die Bezeichnungen "verrutscht"
Sprich ich habe eine Auswahl von 1 2 3 4 5
und wenn ich 5 auswähle, wird komischerweise die 3 eingelesen.
Hier mal der ganze Teil der nicht funktioniert:
Code:
#Suchen nach den Begriffen "In Bearbeitung" und "Offen" im Dokumenten Verzeichnis und kürzen der Treffer auf den Dateiname
suche=$(egrep -r "In Bearbeitung|Offen" /home/user/Dokumente/ | tr /: // | tr /" " /_ | cut -d/ -f9-9 )
#Übergabe der Treffer, Zeilenweise an die Radiolist
auswahl1=$(kdialog --radiolist "Treffen Sie eine Auswahl!" $( for i in "$suche"; do printf " %s " "$i" "$i" "$i" ; done ) )
#Erneute Suche nach der Datei um den kompletten Pfad zu erhalten
suche2=$(find /home/user/Dokumente/ -name "$auswahl1")
#Auslesen des Inhaltes der Datei
inhalt=$(cat "$suche2")
#Ausgabe des Inhalts der kompletten ausgewählten Datei in einer Dialogbox
kdialog --textinputbox "Test" "$inhalt"
In der Auswahl stehen also wie gesagt dann mehrere Dateien.
Aber wenn ich die Datei 3 auswähle, öffnet sich die Datei 2... Als Rückgabewert bekomme ich trotz Auswahl trotzdem den falschen Wert.
Geprüft habe ich das so:
Code:
suche=$(egrep -r "In Bearbeitung|Offen" /home/user/Dokumente/ | tr /: // | tr /" " /_ | cut -d/ -f9-9 )
auswahl1=$(kdialog --radiolist "Treffen Sie eine Auswahl?" $( for i in "$suche"; do printf " %s " "$i" "$i" "$i" ; done ) )
echo "$auswahl1"
Kann mir jemand helfen oder hat jemand von der Problembeschreibung her schon einen Verdacht?
Vielen lieben Dank schon mal!
Liebe Grüße,
iBlack
Lesezeichen