PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Anfänger braucht Hilfe



klaus_harrer
23-12-2003, 22:34
Hallo

Ich möchte alle *.wav in *.ogg umbennenen.



#!/bin/sh


for i in *.wav
do
test=`$i | sed 's/wav/ogg/'`
echo $test
done



Das Problem sed wird nicht interpretiert. Woran liegt es?

MfG
Klaus

quinte17
24-12-2003, 00:31
in der shell:
rename .wav .ogg *.wav

samsara
24-12-2003, 03:47
Wenn Du es wirklich via bash machen moechtest:


#!/bin/sh

for i in *.wav
do
mv $i ${i%.wav}\.ogg
# back slash muss nicht unbedingt sein, ist aber sauberer
done

peschmae
24-12-2003, 08:02
ich mach das jeweils mit "basename" :)

aber mal abgesehen davon: Was versprichst du dir von dieser Aktion?

MfG Peschmä

klaus_harrer
24-12-2003, 08:36
Hallo

Ich verspreche mir davon das ich den Titel einer wav Datei die ich in einer ogg Datei encode von der wav Datei übernehme.



oggenc meine_datei.wav -q 3 meine_datei.ogg


Da ich aber zehn wav Dateien habe möchte ich es in einer Schleife machen.
Und ich Denke ich könnte es auch mit sed machen.



for i in *.wav
do
neue_datei=$($i | sed 's/wav/ogg/')
oggenc $i -q 3 $neue_datei
done


So hatte ich mir das eigentlich gedacht, nur das sed nicht mitspielt.

MfG
Klaus

peschmae
24-12-2003, 11:21
ah, ok. Verstanden. Oben stand drum "umbenennen" - und das macht man dann meist mit mv - was ja gar nix bringt ;)

Schwierig wirds vor allem weil normalerweise Titel von Sounddateien aus mehreren Wörtern bestehen und die meist durch Leerschläge getrennt wurden - das benötigt dann richtig gesetzte Anführungszeichen.

Versuchs mal irgendwie so:


#!/bin/bash

for f in *; do oggenc "$f" -q 3 "`basename "$f" wav`ogg"; done

hab ich aus einem Script von mir ausgebuddelt das was ganz ähnliches tut. Die Veränderungen waren nicht allzu gross, also sollte es gehen. :)

MfG Peschmä

sagi
24-12-2003, 12:26
test=`$i | sed 's/wav/ogg/'`

ich vermute mal, dass da versucht wird $1 auszufuehren... vielleicht ist:


test=`echo $i | sed 's/\.wav/\.ogg/'`

besser.

(arbeite allerdings kaum mit der Bash)

mfg

c.

quinte17
24-12-2003, 20:48
mhh ich versteh dass problem nicht... bei mir tut der oggenc von selber umbennennen wenns eine *.wav ist macht er eine *.ogg draus...

mein script:


cdparanoia -B &&
rename .cdda.wav .wav *.wav &&
oggenc -q 6 * &&
rm *.wav &&
echo -e "\a"


dass einzige problem dass ich hab ist, dass der die wavs nicht löscht.. (macht auch irgendwo sinn deshalb lösch ich sie ja ^^)

hier tut er eine cd -> wav -> ogg in den aktuellen ordner

greetz