Hallo, Am Tue, 30 Sep 2003, Al Bogner schrieb:
Schön langsam komme ich auf den Geschmack bei der Shellprogrammierung :-)
*g*
Diesesmal könnte es aber geschwindikgeitskritisch werden und daher frage ich lieber vorher, bevor ich es mir zu ineffizient überlege. [..] Verzeichnisse müssen also mit einer zweistelligen Zahl beginnen und sollen nicht länger als 8 Zeichen sein, also zB 01DIRMP3, 02DIRMP3 .. 99DIRMP3. Damit kann man dann über die Stationstasten die ersten 12 CDs direkt anspringen.
Mit welchem Programm extrahiert man am effizientesten die Stellen 3-8 eines Directories? cut wäre vielleicht eine Möglichkeit, da nach den ersten beiden Stellen immer ein Leerzeich folgt. Vermutlich gibt es da mehrere Lösungen.
cut ist da schon gut. Oder substr in awk.
Das Script würde in einer Schleife mit dem Zähler i laufen. Wie gebe ich die Zahl i bei Einerstellen _2-stellig_ mit einer 0 vorangestellt aus, um daraus den ersten Teil des Namens zu kreieren?
man 1 printf. Oder awk printf.
Dateinamen sollen ebenfalls nur 8 Zeichen haben und dürfen mit keiner Zahl beginnen. Meine Dateinamen beginnen aber mit einer zweistelligen Titelnummer. Daher habe ich mir zur Eindeutigkeit überlegt, dass aus den ersten beiden Zeichen (zB 01) die Zeichen "A_" werden sollen, aus "02" "B_", usw. im Alfabet. Kann man das irgendwie mit dem ASCII-Code lösen? Man könnte ja die beiden ersten Stellen extrahieren und 64 dazuzählen (A ist ASCII 65) und den erhaltenen Wert wieder in einen Buchstaben wandeln.
Jep, allerdings macht printf(1) das nicht. In awk: $ awk 'BEGIN{i=1; while(i < 10) { printf "%c", i+64; i++; } printf "\n"; }' ABCDEFGHI
Wie wandle ich den Dateinamen komplett in Groß- bzw. Kleinbuchstaben um und überlässt das nicht mkisofs?
tr '[[:lower:]]' '[[:upper:]]' awk: tolower() / toupper()
Ich weiß noch nicht was ich haben will, da ich mir erst überlegen muß, zu welchen anderen Playern die CD noch kompatibel sein soll bzw. was die benötigen. Die Originaldateien enthalten Leerzeichen und nach jedem Leerzeichen folgt ein Großbuchstabe.
Leerzeichen und andere Sonderzeichen wuerde ich rauswerfen. -dnh -- Du sollst nicht mit der 42 rumschmeissen, du Nasenbär. Jetzt hättest du sie fast kaputt gemacht. Das ist so etwas wie unsere Bibel. Verschrotte lieber deine 666. Diese Zahl ist Satanswerk. [WoKo in dag°]