Leerzeichen in Shellskriptvariable

Hinweis: In dem Thema Leerzeichen in Shellskriptvariable gibt es 4 Antworten. Der letzte Beitrag () befindet sich ganz unten auf dieser Seite.
  • Hallo.


    Ich habe erst mit der Shellskriptprogrammierung in Linux angefangen und habe meine originalen Musik-CD's in Ordnern und Unterordnern gespeichert


    Nun möchte ich ein Skript schreiben, dass in jeden einzelnen Ordner eine Index-Datei mit den Dateiinhalt automatisch erstellt und eine Hauptindexdatei in das Mutterverzeichnis.




    Mein Hauptproblem in diesen Skript liegt in Zeile 23.


    Jedes Mal wenn, dass Skript das Ergebnis des find-Befehls in die For-Schleife geben will, trennt er die einzelnen Verzeichnisnamen zwischen den Leerzeichen auf und interpretiert diese Teile als Einzelverzeichnisse.


    leider finde ich keine Möglichkeit, inerhalb einer Forschleife, die Leerzeichen zu maskieren, damit das Verzeichniss vollständig in die Schleife übernommen wird.


    Habe es schon mit IFS=\n und mit Quotes probiert.


    Kann mir da vielleicht Jemand helfen?


    Wie gesagt...Ich bin erst Anfänger und lerne gerade.


    Vielen Dank im Voraus


    Gruß T-Zacke

    Für den Inhalt des Beitrages 44866 haftet ausdrücklich der jeweilige Autor: T-Zacke

  • Zitat

    for Uo in `find "$MUSICFOLDER" -type d`
    Schon mal so probiert?


    Habe diese Möglichkeit gerade getestet...Aber leider ohne Erfolg. Habe auch schon Versucht den read-Befehl zu integrieren. Aber da stellt sich genau das selbe Problem.


    Habe das Skript jetzt wie folgt verändert


    Zeile 22 und 23 habe ich vorübergehend deaktiviert weil sie nicht nötig sind


    Nun habe ich in meiner Ausgabedatei "Test1.txt" aber eine nicht nachvolziehbare Ausgabe die so lautet:



    Die Ausgabe in dieser Datei sollte eigentlich so aussehen:


    Code
    /Speicher/Musik/Original_Albem_WAV_Komplett/Sunbeam - Lightyears (Album)
    /Speicher/Musik/Original_Albem_WAV_Komplett/Limp Bizkit - Results May Vary
    /Speicher/Musik/Original_Albem_WAV_Komplett/Kai Tracid - Life is too short (Maxi)


    An den Leerzeichen zwischen Sunbeam und Lightyyears wird komischerweise nicht mehr getrennt, dafür aber scheinbar willkürlich.

    Für den Inhalt des Beitrages 44873 haftet ausdrücklich der jeweilige Autor: T-Zacke

  • Habe es hinbekommen...
    Habe die Variable "IFS" auf ";.;" Gesetzt und jetzt habe ich volle Zeilen die Ausgegeben werden


    Jedoch sollen die Zeilen sollen jewails einzeln als Eingabe für die For-Schleife dienen, da das Skript noch weiter entwickelt wird.
    Momentan ist noch die komplette ausgabe von "find" der Variablen "Uo" zugeordnet.


    Die Ausgabe in der Test1.txt dient nur der Kontrolle. Nun würde ich diese Zeilen gerne einzeln der Viariable "Uo" in der Schleife übergeben.


    Wie funktioniert das??
    Und geht das auch mit den read-Befehl???


    Wenn mir auch für das Problem jemand Helfen kann, bin ich euch richtig dankbar.


    Gruß Tino

    Für den Inhalt des Beitrages 44874 haftet ausdrücklich der jeweilige Autor: T-Zacke