#1 28. Januar 2012 Hey, ich will ein Paar Dateien von flac in wav konvertieren. Hab mir dazu folgenden Befehl zusammengebastelt, der aber leider nicht funktioniert: Code: for i in *.flac; do flac -d '$i'; done Ich glabu ich hab da was prinzipiell nicht verstanden. Wenn ich eintippe: "for i in *.flac; do echo '$i'; done", bekomme ich die Dateinamen, das ist so gewollt. Durch flac -d input.flac bekomme ich die .wav Datei der jeweiligen Datei. Warumm klappt meine Schleife so nicht? Es kommt nur immer wieder: Spoiler $i: ERROR initializing decoder init status = FLAC__STREAM_DECODER_INIT_STATUS_ERROR_OPENING_FILE An error occurred opening the input file; it is likely that it does not exist or is not readable.
#2 28. Januar 2012 AW: [Bash] for Schleife? Code: for i in `ls|grep .flac`;do flac -d "$i";done etwas umständlicher bei der dateiauswahl, aber for hat sich schon an belangloseren sachen verschluckt. sind leerzeichen in den flac dateinamen? falls ja, versuch mal 2 oder 3 entsprechend umzubenennen und dann mit denen die for-schleife zu starten.
#3 28. Januar 2012 AW: [Bash] for Schleife? Muss es zwingend eine For-Schleife sein? Für dein Vorhaben bietet sich auf find an.. Code: find . -name "*.flac" -exec flac -d "{}"\; Ungetestet.. Das {} wird dann von find durch den jeweiligen Dateinamen ersetzt! MfG
#4 29. Januar 2012 AW: [Bash] for Schleife? Muss keine for-Schleife sein. Dein Befehl haut mir ein: Code: find: Fehlendes Argument für "-exec". raus. Edit: Ich hab das nun mit ein Paar Zwischenschritten raus. Code: # Ersetzt alle Leerzeichen im Dateinamen mit einem _ for i in *flac; do mv "$i" "${i/ /_}"; done # Konvertiert die Flac Datei in .wav for i in `ls|grep .flac`;do flac -d "$i";done #konvertiert die .wav Datei in aac mit ca 220 KB/s for i in *.wav; do faac -q 256 "$i" -o "`basename "$i" .wav` .aac"; done; Kann man das irgendwie sauberer hinbekommen? Außerdem muss ich bei mehreren Leerzeichen im Dateinamen den ersten Befehl öfters ausführen.
#5 29. Januar 2012 AW: [Bash] for Schleife? das mit dem fehlenden argument für -exec hatte ich immer, wenn ich kein leerzeichen vor dem \; hatte, probier das ma...mfg coach
#6 29. Januar 2012 AW: [Bash] for Schleife? Code: mv -v "$1" `echo $1 | tr ' ' '_' ` da einfach ne for schleife drumrum basteln ^^
#7 9. Februar 2012 AW: [Bash] for Schleife? Hat super geklappt, hab meine Musik jetzt in nem ordentlichen Format (das nicht so viel Platz einnimmmt und echt gute Qualität hat). Close