Ich habe einen ganzen Haufen von mp3-Dateien, bei denen es sich als übersichtlicher herausgestellt hat, dass ein Teil des Dateinamens umgedreht sein müsste. also z.B. in einem Album-Ordner mit Namen wie 01 Interpret - Songname 02 Interpret - Ein Anderer Song (...) ich hätte es gerne so dass es stattdessen so aussieht: 01 Songname - Interpret 02 Ein Anderer Song - Interpret (...) Ich möchte das am liebsten unter Windows machen (win 7Pro) könnte aber auch unter Ubuntu arbeiten. mit "Ant Renamer" hab ich schon etliches herumprobiert, komme da aber zu keinem brauchbaren Ergebnis. Sinn des ganzen: Ich finde das ziemlich unübersichtlich, wenn Player es nur schaffen, die ersten paar Zeichen eines Dateinamens im Display darzustellen. z.B. in meinem Autoradio ist das so. Ich würde da immer gerne gleich sehen können, wie ein Song heisst. Gibt es ein Tool, dass mir die Zählung am Anfang des Dateinamens unbeachtet lässt, aber alles zwischen den Trennungen "-" austauscht, quasi umklappt?
▶ J-A von der H. schrieb: > Gibt es ein Tool, dass mir die Zählung am Anfang des Dateinamens > unbeachtet lässt, > aber alles zwischen den Trennungen "-" austauscht, quasi umklappt? ja, totalcmd mit regulären Expression. Ist es nicht sinnvoll eine Software einzusetzen die die MP3 tags auswertet und damit die Titel sinnvoll anzeigt? Warum wird überhaupt die Dateiname verwendet?
"Joe" von Lab1.de kann das Umsortieren von Teilen des Dateinamens prima. Heißt jetzt wohl WinRename und nicht mehr Freeware, die ältere Freeware-Version ist im Netz (legale Quellen!) aber immer noch zu finden. Auswerten von MP3-Tags kann Joe allerdings nicht.
och die Tags wären mir noch egal, mir kommt das rein auf die Dateinamen an. aber ich schau mal, vielen Dank für die Tipps.
▶ J-A von der H. schrieb: > Ich habe einen ganzen Haufen von mp3-Dateien, bei denen es sich als > übersichtlicher herausgestellt hat, dass ein Teil des Dateinamens > umgedreht sein müsste. > > also z.B. > in einem Album-Ordner mit Namen wie > > 01 Interpret - Songname > 02 Interpret - Ein Anderer Song > (...) Nun, das ist die übliche Konvention. > ich hätte es gerne so dass es stattdessen so aussieht: > > 01 Songname - Interpret > 02 Ein Anderer Song - Interpret > (...) Meinetwegen. Nur so aus Interesse: Was gewinnt man dadurch? Mir stellt sich die Frage, ob man dies unbedingt auf Dateiebene lösen muss. Anhand der Metadaten im mp3 sollte für das Abspielprogramm klar ersichtlich sein, was der Interpret und was der Name des Songs ist. In diesem Programm selbst, also in der Applikation, sollte man die Lieder auf verschiedenste Weise anzeigen und sortieren können. Dann sollte es an und für sich egal sein, wie herum die Dateinamen denn nun geordnet sind. Peter II schrieb: > Ist es nicht sinnvoll eine Software einzusetzen die die MP3 tags > auswertet und damit die Titel sinnvoll anzeigt? Warum wird überhaupt die > Dateiname verwendet? Eben.
:
Bearbeitet durch User
▶ J-A von der H. schrieb: > Ich finde das ziemlich unübersichtlich, wenn Player es nur schaffen, die > ersten paar Zeichen eines Dateinamens im Display darzustellen. Und es ist sicher, daß hier wirklich der Dateiname verwendet wird und nicht Informationen aus den mp3-Tags? Hast Du das überprüft?
Rufus Τ. F. schrieb: > Und es ist sicher, daß hier wirklich der Dateiname verwendet wird und > nicht Informationen aus den mp3-Tags? Genau so macht das leider auch mein Autoradio bei MP3 Wiedergabe vom USB Stick. Die Daten auf dem Stick habe daher auch so ungenannt.
▶ J-A von der H. schrieb: > Ich finde das ziemlich unübersichtlich, wenn Player es nur schaffen, die > ersten paar Zeichen eines Dateinamens im Display darzustellen. > z.B. in meinem Autoradio ist das so. > Ich würde da immer gerne gleich sehen können, wie ein Song heisst. Ah okay. Das hatte ich wohl überlesen. Sorry.
Rufus Τ. F. schrieb: > Und es ist sicher, daß hier wirklich der Dateiname verwendet wird und > nicht Informationen aus den mp3-Tags? > > Hast Du das überprüft? ja. mit vielen von mir selbst erstellten mp3 Songs, denen ich sonst keine weiteren Infos im Tag verpasst habe. bin mir aber auch relativ sicher, dass das Autoradio ohnehin nur die Dateinamen anzeigen kann. wie gesagt, es gibt halt "blöde" Player. die haben nur eine Zeile zur Verfügung und lösen das dann auch nicht mit einer Laufschrift, wenns ein längerer Dateiname ist.
Mal abgesehen von perl, python, lua, tcl, sed, ruby, ... geht das am einfachsten mit sed oder awk. (sollte auch unter Windows verfuegbar sein: z.B. cygwin oder msys) Hier ein kleines Beispiel (mit nur einem Dateinamen getestet):
1 | ls *.mp3 | awk '/^[0-9]+.*\.mp3/ {old=$0 ; new=gensub("^([[:digit:]]+) ([^-].*) - ([^-].*)(\.mp3)","\\1 \\3 - \\2\\4","G") ; print "mv \"" old " \"" new"\""}' |
Allerdings sind Leerzeichen in Dateinamen meist suboptimal (bitte kein Flamewar). Diese koennen durch ein
1 | gsub(" ","_",new) ; |
vor dem print durch _ ersetzt werden. Wenn die Ausgabe dann so in Ordnung ist, muss nur noch ein
1 | | bash |
angefuegt werden. Backups sind natuerlich auch immer eine gute Idee.
>Backups sind natuerlich auch immer eine gute Idee.
oh ja, mehrfach ausgelagert ;)
▶ J-A von der H. schrieb: > och die Tags wären mir noch egal, mir kommt das rein auf die > Dateinamen > an. > mp3tag ist auch mein tipp. das programm konvertiert dateiname zu tags und umgekehr, kann als ganzen block tags setzen, hat einen nummernassistent, ...
▶ J-A von der H. schrieb: > ja. mit vielen von mir selbst erstellten mp3 Songs, denen ich sonst > keine weiteren Infos im Tag verpasst habe. > bin mir aber auch relativ sicher, dass das Autoradio ohnehin nur die > Dateinamen anzeigen kann. Hmm. Das aber ist naheliegend, daß auf irgendwas zurückgegriffen werden muss, wenn die Dateien keine Tags enthalten. Da würde ich ja erst mal den Gegenversuch anstellen - also eine Datei mit vernünftigen Tags versehen und als "bla.mp3" benennen. Wenn dann Dein Autoradio wirklich nur "bla" anzeigt, lohnt Dein Aufriss.
dann müsste ich zu etlichen tausend Dateien erstmal die Tag erstellen. Da noch nicht vorhanden, kann ich dann auch gleich meinen "Aufriss" durchführen. so wie es aussieht werde ich sowieso mindestens ein paar Stunden daran sitzen.
▶ J-A von der H. schrieb: > so wie es aussieht werde ich sowieso mindestens ein paar Stunden daran > sitzen. Oder Minuten, bzw. Sekunden:
1 | find . -name '*.mp3' | awk '{interpret=gensub("^.*[/]*[[:digit:]]+ ([^-].*) - [^-]*\.mp3","\\1",1) ; titel=gensub(".* - ([^-]*).mp3","\\1",1); print "mp3info -t \"" titel "\" -a \"" interpret "\" \"" $0"\""}' | bash |
mp3info muss natuerlich installiert sein und eventuell muss "titel" und "interpret" vertauscht werden. Juergen
Schau Dir mal "Bulk Rename Utility" an, Windows, Freeware. Damit müsste es gehen, evtl. mit der Regular-Expressions Funktion. Gibt ein Beispiel dazu mit Erklärung in der Hilfe: "Assume you have a file called Program Files, and you wish to swap the names around (e.g. Files Program). A Regular Expression which performs this task is : ^([A-Z][a-z]*) ([A-Z][a-z]*) Let us break this down into components: ... " mfG Willi
▶ J-A von der H. schrieb: > dann müsste ich zu etlichen tausend Dateien erstmal die Tag erstellen. Zum Ausprobieren Deines Radios reicht exakt eine Datei. Und das Programm mp3tag kann aus Dateinamen Tags erstellen, und zwar auch als Batchjob, d.h. für viele Dateien in einem Rutsch. http://www.mp3tag.de/
ich finde flexible renamer klasse. da kann man mit regulären ausdrücken arbeiten und auch metadaten der Datei verwenden.
https://wiki.ubuntuusers.de/MMV Schau Dir mal das unterste Beispiel an, #1 ist der Inhalt des ersten *. Beim Leerzeichen bin ich mir nicht sicher, aber beim Rest wäre es dann mmv "*-*" "#2-#1" Das Leerzeichen muss wahrscheinlich escaped werden, evtl. mit \ , oder einfach mal so probieren. mmv "*\ *-*" "#1\ #3-#2" mmv "* *-*" "#1 #3-#2" Das geht dann auch rekursiv usw., am besten mal die man-page anschauen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.