Ich habe eine grundsätzliche Frage zu einem Shellskript, dass ich mir geschrieben habe.
Es soll alle mp3-Dateien in dem aktuellen Verzeichnis schneiden, und zwar auf die ersten 20 Sekunden.
Man ahnt es schon: das soll eine Art Hörprobe werden

Die geschnittenen Dateien sollen dann später noch auf eine sehr niedrige Bitrate umkodiert werden - da lame eine andere Ausgabe- als Eingabedatei verlangt, müssen die geschnittenen Dateien also umbenannt werden. Da die geschnittenen Dateien nach dem ganzen Vorgang sowieso gelöscht werden, möchte ich einfach die Endung "mp3" durch "split" ersetzen.
So weit, so gut. Ich habe dann ein wenig Tante Google befragt und in einige Howtos gelesen, dabei bin ich auf diese Lösung gestossen:
Wenn ich eine Variable FILE habe, kann ich das letzte Vorkommen der Zeichenkette mp3 in der Variablen durch die Zeichenkette split ersetzen durch
Code: Alles auswählen
${FILE/%mp3/split}
Code: Alles auswählen
ls *.mp3 | while read FILE
do
echo "${FILE} ---> ${FILE/%mp3/split}"
done
Code: Alles auswählen
01-abc.mp3 ---> 01-abc.split
02-def.mp3 ---> 02-def.split
Sobald ich aber die echo-Zeile durch das was ich wirklich machen will (schneiden) ersetze, nämlich
Code: Alles auswählen
mp3splt "${FILE} 0.0 0.20 -o ${FILE/%mp3/split}"
Code: Alles auswählen
01-abc.split.mp3
02-def.split.mp3
Warum ist das so bzw. wo liegt mein Fehler? Im Prinzip ist das doch die gleiche Ersetzung wie beim echo...
Ich habe hier im Forum einige Möglichkeiten gesehen, wie man die Dateien dann einfach umbenennen könnte, das würde aber noch mehr Zeit kosten (es sind viiieeele mp3s). Mit sed würde das wohl auch gehen, aber ich würde es vorziehen, das Problem so zu lösen. Es muss doch gehen!

(Für nicht-bash-User: Das ganze soll laut meiner Quelle übrigens bash-spezifisch sein)
Mit der Bitte um helfende Aufklärung,
Maunzekater