PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MP3 Sortieren per shell



jimpanse
13.04.10, 13:12
Hallo, ich will meine MP3 Sammlung per shell sortieren, da es von Hand zu lange dauert :)

Jetz habe ich einen kleinen befehl gefunden, der mir die MP3's alphabetisch sotieren soll und dazu neue Ordner erstellt.

Verzeichnisstruktur sieht danach eigentlich so aus. A -> Artist -> Alle Titel von dem Artist usw.

Das erstellen der Ordner klappt soweit, nur leider werden die mp3's nicht verschoben.

Der Befehl dafür sieht wie folgt aus:



find -name "*.mp3" | while read mp3; do art=`mp3info -p "%a\n" "${mp3}"`;letter=${art:0:1};[ "${letter}" != "" ] && mkdir -p "${letter}/${art}" && mv -R "${mp3}"; "${letter}/${art}/"; done


Die Fehlermeldung :



mv: Fehlender Zieldatei‐Operand hinter „./Dio/Holy Diver/07 - Invisible.mp3“
„mv --help“ gibt weitere Informationen.
bash: D/Dio/: ist ein Verzeichnis.


Wenn ich das laut man page von mv richtig sehe brauch ich entweder -t oder -T als Operanten. Allerdings kommt dabei dann



find -name "*.mp3" | while read mp3; do art=`mp3info -p "%a\n" "${mp3}"`;letter=${art:0:1};[ "${letter}" != "" ] && mkdir -p "${letter}/${art}" && mv -t "${mp3}"; "${letter}/${art}/"; done

mv: angegebenes Ziel „./Wolfsheim/10 - Once in a Lifetime.mp3“ ist kein Verzeichnis
bash: W/Wolfsheim/: ist ein Verzeichnis.


und mit -T



find -name "*.mp3" | while read mp3; do art=`mp3info -p "%a\n" "${mp3}"`;letter=${art:0:1};[ "${letter}" != "" ] && mkdir -p "${letter}/${art}" && mv -T "${mp3}"; "${letter}/${art}/"; done

mv: Fehlender Zieldatei‐Operand hinter „./Wolfsheim/10 - Once in a Lifetime.mp3“
„mv --help“ gibt weitere Informationen.
bash: W/Wolfsheim/: ist ein Verzeichnis.


Ich hoffe einer von euch hat da eine Lösung.

Gruß

Christian

muell200
13.04.10, 13:19
mv: angegebenes Ziel „./Wolfsheim/10 - Once in a Lifetime.mp3“ ist kein Verzeichnis
bash: W/Wolfsheim/: ist ein Verzeichnis.



tip: der befehl kommt mit den leerzeichen nicht klar

drcux
13.04.10, 13:21
mv -R "${mp3}"; "${letter}/${art}/"
Da ist ein ";" zuviel.

jimpanse
13.04.10, 13:30
Da ist ein ";" zuviel.

Ah danke das wars :)