Hallo
Ich möchte alle *.wav in *.ogg umbennenen.
Das Problem sed wird nicht interpretiert. Woran liegt es?Code:#!/bin/sh for i in *.wav do test=`$i | sed 's/wav/ogg/'` echo $test done
MfG
Klaus
Hallo
Ich möchte alle *.wav in *.ogg umbennenen.
Das Problem sed wird nicht interpretiert. Woran liegt es?Code:#!/bin/sh for i in *.wav do test=`$i | sed 's/wav/ogg/'` echo $test done
MfG
Klaus
in der shell:
rename .wav .ogg *.wav
Wenn Du es wirklich via bash machen moechtest:
Code:#!/bin/sh for i in *.wav do mv $i ${i%.wav}\.ogg # back slash muss nicht unbedingt sein, ist aber sauberer done
Interface design
whohas - wer hat's im Repository? Debian? Fedora? Gentoo? ...?
Hardware compatibility list - das Original mit bereits 3000 Einträgen
It ain't a hack if it ain't dirty.
ich mach das jeweils mit "basename"
aber mal abgesehen davon: Was versprichst du dir von dieser Aktion?
MfG Peschmä
The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)
Hallo
Ich verspreche mir davon das ich den Titel einer wav Datei die ich in einer ogg Datei encode von der wav Datei übernehme.
Da ich aber zehn wav Dateien habe möchte ich es in einer Schleife machen.Code:oggenc meine_datei.wav -q 3 meine_datei.ogg
Und ich Denke ich könnte es auch mit sed machen.
So hatte ich mir das eigentlich gedacht, nur das sed nicht mitspielt.Code:for i in *.wav do neue_datei=$($i | sed 's/wav/ogg/') oggenc $i -q 3 $neue_datei done
MfG
Klaus
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:
hab ich aus einem Script von mir ausgebuddelt das was ganz ähnliches tut. Die Veränderungen waren nicht allzu gross, also sollte es gehen.Code:#!/bin/bash for f in *; do oggenc "$f" -q 3 "`basename "$f" wav`ogg"; done
MfG Peschmä
The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)
ich vermute mal, dass da versucht wird $1 auszufuehren... vielleicht ist:Code:test=`$i | sed 's/wav/ogg/'`
besser.Code:test=`echo $i | sed 's/\.wav/\.ogg/'`
(arbeite allerdings kaum mit der Bash)
mfg
c.
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:
dass einzige problem dass ich hab ist, dass der die wavs nicht löscht.. (macht auch irgendwo sinn deshalb lösch ich sie ja ^^)Code:cdparanoia -B && rename .cdda.wav .wav *.wav && oggenc -q 6 * && rm *.wav && echo -e "\a"
hier tut er eine cd -> wav -> ogg in den aktuellen ordner
greetz
Lesezeichen