Beim Durchlesen fiel mir auf, wie wirr ich geschrieben habe. Also ein zweiter, hoffentlich verständlicherer Versuch: Antje Bendrich schrieb am 18.06.2001 23:02:22:
Sascha Peters schrieb am 18.06.2001 22:12:22:
#!/bin/sh for file; do mpg123 -vw "$(basename $file .mp3).wav" "$file" done
Aufruf mit <skript> *.mp3
Habe ich in der Liste gefunden. Kann man denn das so umschreiben das man in dem Filenamen das ".mp3.wav" weg hat, dafür aber ein ".wav"? Ich bin nicht der große shell Programmierer.
Eigentlich sollten die neuen Dateien danach die Endung .wav haben statt .mp3 oder gar .mp3.wav. Dafür sorgt das basename.
Vielleicht einfacher lesbar aufgedröselt: for file; do alterName=$file neuerNameOhneEndung=$(basename $altername .mp3) neuerNameMitEndung=${neuerNameOhneEndung}.wav mpg123 -vw "$neuerNameMitEndung" "$alterName" done Die geschweiften Klammer sorgen hier dafür, daß die Shell den Variablennamen überhaupt erkennen kann, was sie bei $neuerNameOhneEndung.wav nicht könnte. Es wird zu spät, ich verstehe meine Erklärungen selber kaum. Gute Nacht. Gruss, Antje -- Antje M. Bendrich list@bendrich.de http://www.bendrich.de