Sie haben eine CD gerippt, aber die Audiodatei-Metadaten, die aus freedb oder Konfigurationsdateien lesbar sein sollten, konnten nicht abgerufen werden, und Sie stecken fest. Also hatten Sie keine andere Wahl, als sie in wav oder flac zu rippen, aber es ist immer noch kein Songname oder irgendetwas geschrieben, und sie als "track 01" zu haben, ist verwirrend und sehr schwierig zu verwalten, oder?
Ich habe ein Skript geschrieben, das in solchen Fällen verwendet werden kann. Shell-Skripte wie Bash haben andere Eigenheiten im Vergleich zu anderen leichtgewichtigen Sprachen, und wenn man versucht, etwas etwas Komplexeres zu schreiben, braucht es ziemlich viel Zeit, was ein Nachteil ist...
Anforderungen: Dateinamen müssen in irgendeiner Form nummeriert sein (mit Tracknummern usw.) Notwendige Elemente: Eine Datei mit neuen Dateinamen (Titeln), die zeilenweise entsprechend den Tracknummern geschrieben sind <<z.B. names.txt>>
z.B.
$ ls
01 Track01.flac 03 Track03.flac 05 Track05.flac 07 Track07.flac 09 Track09.flac 11 Track11.flac
02 Track02.flac 04 Track04.flac 06 Track06.flac 08 Track08.flac 10 Track10.flac 12 Track12.flac
$ cat > names.txt
01 - Songtitel 1
02 - Songtitel 2
03 - Songtitel 3
04 - Songtitel 4
05 - Songtitel 5
06 - Songtitel 6
07 - Songtitel 7
08 - Songtitel 8
09 - Songtitel 9
10 - Songtitel 10
11 - Songtitel 11
12 - Songtitel 12
Führen Sie dies zur Fehlerbehandlung aus: sed -i $'s/\t//' names.txt
Skript
i=1
for f in *.flac ; do
name=$(sed "$(echo $i)q;d" names.txt)
mv "$f" "$name.flac"
i=$((i+1))
done
Ersetzen Sie .flac durch .wav oder eine geeignete Erweiterung.
Nach der Ausführung
$ ls
01 - Songtitel 1.flac 04 - Songtitel 4.flac 07 - Songtitel 7.flac 10 - Songtitel 10.flac names.txt
02 - Songtitel 2.flac 05 - Songtitel 5.flac 08 - Songtitel 8.flac 11 - Songtitel 11.flac
03 - Songtitel 3.flac 06 - Songtitel 6.flac 09 - Songtitel 9.flac 12 - Songtitel 12.flac