Mailinglist Archive: opensuse-multimedia-de (217 mails)

< Previous Next >
Re: [suse-multimedia] mpg123 -w
  • From: "Mario Streiber" <mario.streiber@xxxxxx>
  • Date: Thu, 8 Aug 2002 09:39:01 +0200
  • Message-id: <002d01c23eae$b9a25390$b2d57c0f@xxxxxxxxxx>
Am besten, Du startest folgende Schleife (das kannst Du übrigens
direkt in einer Konsole so eingeben, Du brauchst kein Shell-Script
dafür) und studierst in der Zwischenzeit das bash-Manual ;-):

for i in *.wav; do
mpg123 -w "$i" "`basename $i .wav`.mp3"
done

Jetzt muß ich mich aber doch noch in die Diskussion einklinken :-)

mpg123 soll doch die mp3's in wav's umwandeln, oder? D.h. im Normalfall gibt
es vorher keine .wav Files -> "for i in *.wav" ist der falsche Ansatz. Das
erste Script mit "for i in *.mp3" war da schon soweit OK.

Und mit der Quotierung muß man auch sehr umsichtig umgehen, besonders wenn
(wie bei MP3 Files nicht unüblich) Leerzeichen im Dateinamen vorkommen. In
einem solchen Fall funktioniert obiges Script nicht.

Konsequenterweise muß auch die mpg123 Zeile angepaßt werden. Das Script sähe
dann so aus:

for i in *.mp3; do
mpg123 -w "$(basename "$i" .mp3).wav" "$i"
done

Ich bevorzuge übrigens $(...) gegenüber `...`. Macht das gleiche, ist aber
besser von den anderen Quote-Zeichen '...' zu unterscheiden.


Mario


< Previous Next >
Follow Ups