Hallo, Am Tue, 10 Aug 2004, Al Bogner schrieb:
Am Dienstag, 10. August 2004 22:00 schrieb David Haller:
Am Tue, 10 Aug 2004, Al Bogner schrieb:
Ich habe mp3-Dateien in Verzeichnissen, wobei sowohl das Verzeichnis als auch der Dateiname bis zu 64 Zeichen lang ist. Nun möchte ich für eine gebrannte DVD die Verzeichnisse und Dateinamen auf 14 Zeichen kürzen, wobei die Verzeichnisstruktur erhalten bleiben soll. Die Originalbezeichnung darf auch nicht verändert werden.
Kannst du anhand von 2-3 Dateien mal illustrieren was du willst?
Ja gerne,
ich erhoffe mir durch die Dateinamenkürzung die Ladezeiten am DVD-Player zu verkürzen.
Nehmen wir also mal folgendes an:
ls -r1 voices_and_instruments_\(audios_audiophile\)/ | sort 01_the_power_of_seven_-_when_something_is_wrong_with_my_bab.mp3 02_the_power_of_seven_-_mockingbird_-_various_-_voices_and_.mp3 03_lou_reed_-_walk_on_the_wild_side_-_various_-_voices_and_.mp3 04_thérèse_juel_-_tiden_bara_gar_-_various_-_voices_and_ins.mp3
Die Datei- Verzeichnisnamensbezeichnung ergab sich aus den ID3-Tags der CDDB und da erlebt man so einiges, das man für Dateisystemnamen nicht haben will. Ich habe das bereits einigermassen korrigiert und den Rest darf den mkisofs und iso-level 3 erledigen.
voices_and_instruments_\(audios_audiophile\) soll also auf 14 Zeichen gekürzt werden: voices_and_ins
==== linkdir="linkdir" test -d "$linkdir" || mkdir "$linkdir" for f; do ext="`echo \"$f\" | sed 's/.*\(\.[^.]\+\)$/\1/'`" # dir="`dirname \"$f\"`" base="`basename \"$f\"`" name="`echo \"$base\" | cut -c -14`" ln -s "$f" "${linkdir}/${name}${ext}" done ==== Dateinamen einfach als Argumente uebergeben. Bei verlinken musst du halt aufpassen, dass du relative links passend setzt. -dnh -- 20: Multimediaentwickler Grafiker (Kristian Köhntopp)