Hi,
Hab hier mp3s liegen mit z.b: Bezeichnung 04 Hum Along And Dance.mp3, diese möchte ich in nem Script zu wav wandeln und dann
als Audio-CD brennen (is ja soweit auch kein Problem) aber ich möchte bei der Wandlung zu wav gleich den Titel übernehmen
und den dabei auch so umwandeln das;
04.Hum_Along_And_Dance.wav
rauskommt.
Problem hab ich nur dabei das ich nach der Zahl 04 (dies kann aber manchmal auch nur ne einstellige Zahl sein also z.b: 4
das Leerzeichen zu nem Punkt wandeln will - wollte das mit sed erledigen hab aber nix wirkliches hinbekommen.
Im folgenden Code sieht man (nur die Zeilen mit sed (sind derweil auskommentiert)) was ich so versucht habe.
outfile="$(basename "$track" .mp3).wav"
outfile="${outfile// /_}"
outfile="$(echo $outfile | sed 's/\([^[0-9].\)\_/\1./')"
#outfile="$(echo $outfile | sed 's/\([0-9]*\)\_/\1./')"
#outfile="$(echo $outfile | sed 's/\([0-9]\{1,3\}\)\_\(*\{2\}\)/\1.\2/')"
#outfile="$(echo $outfile | sed 's/\([^0-9])\_/./')"
Die ersten beiden Zeilen passen damit krieg ich den Titel und die Endung wav statt mp3 und alle Files kriegen bei den Leerzeichen erstmal Unterstriche verpasst
(läuft in ner Schleife),
aber ich schaffs nicht das nur wenn ein File überhaupt mit Zahlen anfängt und danach ein Leerzeichen kommt dieses erste Leerzeichen in nen Punkt zu verwandeln.
Hatte es bei meinen Versuchen zwar soweit geschafft das alle Leerzeichen nen Punkt bekommen oder auch mal das um beim Beispiel zu bleiben der Punkt
so war 04_Hum_Along_And.Dance.wav also vor dem letzten Wort vor der Endung oder einmal sogar das der Punkt wirklich an der richtigen Stelle war also so 04.Hum_Along_And_Dance.wav
jedoch wurden weitere Files dann auch mit nem Punkt gesegnet obwohl die gar nicht mit ner Zahl anfingen also z.b: dann Und.heute_nicht.wav.
Also ich gebs zu bei sed tu ich mir schon etwas schwer (hab aber bislang auch immer versucht sed zu vermeiden wenns ging)
aber wie auch immer, ich frag deshalb mal hier um HIlfe denn ich hab damit gestern mehrere Stunden verbracht und das was ich haben wollte
jedoch nicht erreicht.
Gruss
Bert