| Autor | 
    Nachricht | 
  
  
    | 
      
     | 
    
      
        
          
             
           | 
					
            Titel: script das mehrere Dateien verarbeitet gesucht 
             Verfasst am: 01.06.2006, 13:22 Uhr
           | 
				 
       
     | 
  
  
    
      
        
          
             
            
  
            Anmeldung: 24. Aug 2005 
            Beiträge: 144 
             
            
            
           | 
         
       
     | 
    
      
        
          Hallo allerseits!
 
Ich suche ein script, das mir alle wavs in einem Verzeichnis in mp3 umwandelt. Hab gesehen, da gabs schonmal einen thread, aber ich suche eine ganz einfache version.
 
Es würde schon reichen, wenn man alle Dateinamen ohne das ".wav" einlesen könnte, und nacheinander abarbeiten, etwa so(pseudocode):
 
 
 
DATEILISTE=<alle Dateien im aktuellen Verzeichnis ohne endung>
 
 
for each in $DATEILISTE do
 
   **censored** -m j -q 2 -V 0 --athlower 5 -p $DATEI.wav $DATEI.mp3
 
end
 
 
Veilleicht habt ihr da ja ne einfache verständliche Lösung.
 
 
gruß hum | 
         
        
          | 
          
            
          
            
            
           | 
         
         
	        |     | 
	       
       
     | 
  
  
    | 
      
      
     | 
  
  
      | 
  
  
    | 
      
     | 
    
      
        
					
            Titel: script das mehrere Dateien verarbeitet gesucht 
             Verfasst am: 01.06.2006, 13:51 Uhr
           | 
				 
       
     | 
  
  
    
      
        
          
             
            
  
            Anmeldung: 21. Nov 2004 
            Beiträge: 1018 
             
            
            
           | 
         
       
     | 
    
      
        
          Ungefähr so:
 
Code: 
 
DATEILISTE=`ls *.wav *`
 
 
for FILE in $DATEILISTE; do
 
**censored** -m j -q 2 -V 0 --athlower 5 -p $FILE `basename $FILE .wav`.mp3
 
done
 
 
 
Ich habe übebrigens die Syntax vom **censored** Befehl ohne nachzusehen einfach übernommen. Keine Garantie, dass die so läuft... | 
         
        
          | 
          
            
          
            
            
           | 
         
         
	        |     | 
	       
       
     | 
  
  
    | 
      
      
     | 
  
  
      | 
  
  
    | 
      
     | 
    
      
        
					
            Titel:  
             Verfasst am: 01.06.2006, 14:41 Uhr
           | 
				 
       
     | 
  
  
    
      
        
          
             
            
  
            Anmeldung: 24. Aug 2005 
            Beiträge: 144 
             
            
            
           | 
         
       
     | 
    
      
        
          Ja, genau sowas meinte ich!
 
 
Gibt nur ein großes Problem:
 
Der for Befehl verarbeitet die Dateiliste nicht richtig. Leerzeichen werden auch als Trennzeichen erkannt, es sollte aber nur Zeilenumbruch sein. Das Passiert auch wenn ich #!/bin/bash benutze.
 
 
Hatte das schonmal, und desshalb sein gelassen. Weiß nicht wie man soche Listen vernünftig verarbeitet.
 
 
Die wav Dateien haben folgendes Format:
 
"Interpret - Album - Titelnummer - Name.wav"
 
 
 
Bisher sieht das script so aus(zum testen):
 
Code: 
 
#!/bin/sh
 
# Erstellt zu jeder .wav-Datei im aktuellen Verzeichnis ein .mp3
 
 
DATEILISTE=`ls *.wav`
 
 
for FILE in $DATEILISTE; do
 
#**censored** -m j -q 2 -V 0 --athlower 5 -p -b 192 $FILE `basename $FILE .wav`.mp3
 
echo "$FILE `basename $FILE .wav`.mp3"
 
done 
 
 
 | 
         
        
          | 
          
            
          
            
            
           | 
         
         
	        |     | 
	       
       
     | 
  
  
    | 
      
      
     | 
  
  
      | 
  
  
    | 
      
     | 
    
      
        
					
            Titel:  
             Verfasst am: 01.06.2006, 16:42 Uhr
           | 
				 
       
     | 
  
  
    
      
        
          
             
             
  
            Anmeldung: 17. Sep 2004 
            Beiträge: 1600 
            Wohnort: Nahe der bayerischen Voralpen 
            
            
           | 
         
       
     | 
    
      
        
          Hi humbold,
 
so sollte es funktionieren.
 
 
Code: 
 
# vorhandene wav-dateien
 
# ls -1
 
datei.wav
 
eine datei.wav
 
Interpret - Album - Titelnummer - Name.wav
 
noch eine datei.wav
 
 
 
 
Shellscript:
 
Code: 
 
for I in *
 
 do echo $I 
 
done
 
 
 
 
Ausgabe des Shellscripts:
 
Code: 
 
datei.wav
 
eine datei.wav
 
Interpret - Album - Titelnummer - Name.wav
 
noch eine datei.wav
 
 
 | 
         
        
          
          
            
          
             _________________ Ciao bluelupo
 
SIDux Kernel 2.6.19.1-slh-up-1, tagesaktuell
 
AMD Athlon XP 2600+ | Memory 2048 MByte
 
GLX Renderer GeForce 7600 GT/AGP | GLX Version 2.1.0 NVIDIA 97.42
 
DSL6000 De-FLAT FRITZ!Box Fon WLAN 7050
            
           | 
         
         
	        |     | 
	       
       
     | 
  
  
    | 
      
      
     | 
  
  
      | 
  
  
    | 
      
     | 
    
      
        
					
            Titel: Re: script das mehrere Dateien verarbeitet gesucht 
             Verfasst am: 01.06.2006, 17:49 Uhr
           | 
				 
       
     | 
  
  
    
      
        
          
             
            
  
            Anmeldung: 21. Nov 2004 
            Beiträge: 1018 
             
            
            
           | 
         
       
     | 
    
      
        
          Zweiter Versuch:
 
 
Code: 
 
DATEILISTE=`ls -Q *.wav`
 
 
for FILE in $DATEILISTE; do
 
**censored** -m j -q 2 -V 0 --athlower 5 -p "$FILE" "`basename $FILE .wav`.mp3"
 
done
 
 
 
 
Vielleicht klappt das ja... | 
         
        
          | 
          
            
          
            
            
           | 
         
         
	        |     | 
	       
       
     | 
  
  
    | 
      
      
     | 
  
  
      | 
  
  
    | 
      
     | 
    
      
        
					
            Titel:  
             Verfasst am: 01.06.2006, 18:12 Uhr
           | 
				 
       
     | 
  
  
    
      
        
          
             
            
  
            Anmeldung: 18. Jan 2004 
            Beiträge: 645 
             
            
            
           | 
         
       
     | 
    
      
        
          Ich habe so ein Script geschrieben.
 
http://jgese.de/no6/content/view/21/1/
 
Kannste noch mehr mit machen, Cd's rippen, verschiedene Formate konvertieren (ogg, mp3, flac) und einstellen der Qualität. 
 
 
  | 
         
        
          
          
            
          
             _________________ Bis die Tage
 
Achim
            
           | 
         
         
	        |     | 
	       
       
     | 
  
  
    | 
      
      
     | 
  
  
      | 
  
  
    | 
      
     | 
    
      
        
					
            Titel:  
             Verfasst am: 12.06.2006, 20:38 Uhr
           | 
				 
       
     | 
  
  
    
      
        
          
             
            
  
            Anmeldung: 24. Aug 2005 
            Beiträge: 144 
             
            
            
           | 
         
       
     | 
    
      
        
          So, dank eurer Tipps hab ich jetzt folgende Lösung:
 
 
Code: 
 
#!/bin/sh
 
# wav2mp3.sh
 
# Erstellt zu jeder .wav-Datei im aktuellen Verzeichnis ein .mp3
 
# Vorhandene gleichnamige .mp3-Dateien werden überschrieben!
 
 
function processFile()
 
{
 
MP3FILE=`basename "$2" "$1"`.mp3;
 
echo -E "Erstelle \"$MP3FILE\" :";
 
**censored** -m j -q 2 -V 0 --athlower 5 -p -b 192 "$2" "$MP3FILE";
 
echo -e "fertig! \n";
 
return
 
}
 
 
 
for FILE in *; do
 
 FILETYPE=`echo -E "$FILE" | tail --bytes=5`;
 
 case $FILETYPE in
 
   ".wav") processFile ".wav" "$FILE";;
 
   ".WAV") processFile ".WAV" "$FILE";;
 
   ".Wav") processFile ".Wav" "$FILE";;
 
   ".WAv") processFile ".WAv" "$FILE";;
 
   ".wAv") processFile ".wAv" "$FILE";;
 
   ".wAV") processFile ".wAV" "$FILE";;
 
   ".waV") processFile ".waV" "$FILE";;
 
   ".WaV") processFile ".WaV" "$FILE";;
 
   # *) echo Lasse "$FILE" aus;;
 
 esac
 
done
 
 
 
 
Besten Dank für die Hilfe!
 
 
Gruß hum | 
         
        
          | 
          
            
          
            
            
           | 
         
         
	        |     | 
	       
       
     | 
  
  
    | 
      
      
     | 
  
  
      | 
  
  
  
    | 
      
     |