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.
#! /bin/bash
# Skript = MusikIndex
# Version = 0.1
# Autor = T-Zackei
# Sinn = erstellt Indexdateien in den verschiedenen Musikverzeichnissen und eine gesamte Indexdatei in den Musikhauptverzeichnis
MUSICFOLDER=/Speicher/Musik
count=1
i=1+1
Datum=`date +"%d.%m.%Y-%H:%M_Uhr"`
rm $MUSICFOLDER/Hauptindex*.txt 2>/dev/null
for MuO in `ls $MUSICFOLDER`
do
rm $MUSICFOLDER/$MuO/Index*.txt 2>/dev/null
ls $MUSICFOLDER/$MuO > $MUSICFOLDER/$MuO/Index-$Datum.txt
echo -e "\n\n--------Der Bereich $MuO----------\n\n" >> $MUSICFOLDER/Hauptindex-$Datum.txt
cat $MUSICFOLDER/$MuO/Index-$Datum.txt >> $MUSICFOLDER/Hauptindex-$Datum.txt
done
for Uo in `find $MUSICFOLDER -type d`
do
ls "$Uo" > $MUSICFOLDER/Test1.txt
done
Alles anzeigen
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