nachdem ich feststellen musste, daß die Tag-Eingabe über easyTAG eine reine Strafarbeit ist und ich außerdem bereits Textdateien schon früher erstellt hatte, habe ich das Taggen mit folgendem kleinen Script vorgenommen. Bearbeitet werden alle mp3-Dateien eines Verzeichnisses, für die in der Textdatei Vorgaben vorhanden sind.
Code: Alles auswählen
# eyeD3tag tagged vorh. mp3-Datein (mit führender Track-Nr) mittels eyeD3
# nach einer Text-Datei folgender Struktur:
#
# 01 Titel
# Artist
#
# Artist kann weggelassen werden (Leerzeile!)
while read num tit ; do
if [ -n "$num" ] ; then
read art
# Dateinamen komplettieren
oldnam=$(ls $num*)
echo "Datei:" $oldnam
# neuen Dateinamen aus Track-Nr, Artist u. Titel zusammenbauen
newnam=""
if [ -n "$art" ] ; then
# Blank durch Underscore ersetzten und Trennstrich anhängen
newnam=${art//\ /_}-
fi
# endgültig zusammensetzen
newnam=$num\_$newnam${tit//\ /_}
eyeD3 --title="$tit" --artist="$art" --track="$num" $oldnam
mv $oldnam $newnam.mp3
fi
done
1. Sehr gern hätte ich eine Abfrage auf den Bereich der Track-Nummer zwischen 01 und 99, das würde die Datei viel flexibler ermöglichen. Aber alle Versuche mit sowas wie
Code: Alles auswählen
if [ ("$num">"00") && ("$num"<"99") ] ;
2. Gelegentlich lief das Script ein wenig Amok. Es zeigte sich, dass ungewollte Steuerzeichen im Datenfile waren. Die vorh. Textdatein habe ich mit gedit unter Gnome editiert, wozu auch Suchen und Ersetzen und Einfügen von Leerzeilen gehört. Gedit hat allerdings unaufgefordert, für mich völlig undurchsichtig das Steuerzeichen ^M eingefügt. Könnte das Dateinamens-gesteuert sein? Die Dinger haben Namen wie CD-13-tape22ab.txt, aber DOS-Zeilenumbrüche sind vor dem Editieren keine mehr drin gewesen. Mit vi bzw vim habe ich die ^M dann weggeputzt, dann ging es. Leider konnte ich hier auch nicht Suchen / Ersetzen verwenden, da ich das nur für druckbare Zeichen hinbekommen habe. Das ^M irgendwie bei der Sucheingabe in vi mit \ zu maskieren, ist mir nicht gelungen - also viel mehr Handarbeit als nötig.
Vielleicht kann mir jemand zu den Problemchen einen hilfreichen Tipp geben?
Im Voraus vielen Dank
debdepp