Anzeige:
Ergebnis 1 bis 7 von 7

Thema: skript zum abarbeiten einer liste

  1. #1
    Registrierter Benutzer
    Registriert seit
    Mar 2005
    Beiträge
    264

    skript zum abarbeiten einer liste

    servus,

    ich versuche mir gerade ein shell skript zu basteln was eine zuvor erstellte liste von mp3 dateien auf ihre bitrate überprüft und gegebenenfalls auf einen norm-wert herab convertiert.
    die liste wird angelegt mit "find -name "*.mp3" > liste" erstellt. es ist also eine datei in der jede zeile den relativen pfad zu einer datei enthält. Allerdings enthalten die pfade sehr oft leerzeichen, und die werden mir beim abarbeiten der liste zum verhängniss.

    mein ansatz war folgender:
    Code:
    for i in `cat liste`
    do
      lame -b$BITRATE -f -a --mp3input "$i" "$i.new" >/dev/null
      id3cp "$i" "$i.new" >/dev/null
      mv "$i.new" "$i" >/dev/null   
    done
    das problem ist nun eben, dass die schleife nicht für jede Zeile durchlaufen wird, sindern für jedes Wort jeder Zeile.

    wie lässt sich das denn realisieren?


    PS.: sorry, wusste nicht recht in welches forum das am besten passen könnte.
    Geändert von G-SezZ (20.11.05 um 17:16 Uhr)

  2. #2

  3. #3
    Registrierter Benutzer
    Registriert seit
    Mar 2005
    Beiträge
    264
    schön und gut bringt mich aber keinen meter weiter.
    da ist nicht ein ergebnis zu meinem problem bei
    wie gesagt: die dateien sollen zuerst in einer liste gespeichert werden und später abgearbeitet. dass die scheife mit find funzt wusste ich auch.

  4. #4
    Registrierter Benutzer
    Registriert seit
    Sep 2004
    Ort
    127.0.0.1
    Beiträge
    333
    Code:
    #!/bin/bash
    
    while read i
     do
     echo $i
    done < liste
    ... so in etwa und statt echo $i dann halt deinen Code.

  5. #5
    Registrierter Benutzer
    Registriert seit
    Nov 2004
    Beiträge
    492
    Zitat Zitat von G-SezZ
    schön und gut bringt mich aber keinen meter weiter.
    da ist nicht ein ergebnis zu meinem problem bei
    wie gesagt: die dateien sollen zuerst in einer liste gespeichert werden und später abgearbeitet. dass die scheife mit find funzt wusste ich auch.
    Das seh ich anders. Habs aber nicht getestet. /müde

    IFS=$'BN';
    for item in $(liste); do
    IFS=$' ';
    echo "Treffer: $item";
    IFS=$'BN';
    done;
    IFS=$' ';
    Treffer: ./foo bar
    Treffer: ./nuss bar
    Wenn Dummheit lang machen würde, könnten Freebies dem Mond knieend am Arsch lecken. :)

  6. #6
    Registrierter Benutzer Avatar von smoon
    Registriert seit
    Sep 2004
    Beiträge
    379
    Code:
    #!/bin/bash
    
    IFS="
    "
    
    for i in `cat liste`
    do
      lame -b$BITRATE -f -a --mp3input "$i" "$i.new" >/dev/null
      id3cp "$i" "$i.new" >/dev/null
      mv "$i.new" "$i" >/dev/null   
    done
    sollte funktionieren. Wofür IFS gut ist verrät dir die Bash Manpage:
    Zitat Zitat von man bash
    IFS The Internal Field Separator that is used for word splitting
    after expansion and to split lines into words with the read
    builtin command. The default value is ``<space><tab><new-
    line>''.

  7. #7
    Registrierter Benutzer
    Registriert seit
    Mar 2005
    Beiträge
    264
    ich habs. hab cat durch less ersetzt, so funzt es.
    trotzdem vielen Dank.

Ähnliche Themen

  1. SSH und HALT per Skript
    Von martinsuse91 im Forum Linux als Server
    Antworten: 3
    Letzter Beitrag: 15.09.05, 08:13
  2. Bash Skript soll globale Variable setzen...
    Von ennservogt im Forum Anwendungen Allgemein, Software
    Antworten: 7
    Letzter Beitrag: 06.06.04, 18:56
  3. bräuchte Skript für Logfileauswertung
    Von Darksun777 im Forum Linux Allgemein
    Antworten: 2
    Letzter Beitrag: 03.03.04, 19:47
  4. [Biete] lMule SuSE 8.2
    Von AceTheFace im Forum Anwendungen Allgemein, Software
    Antworten: 75
    Letzter Beitrag: 29.08.03, 05:55
  5. IpTable Skript wird benötigt!
    Von darktr00per im Forum Router und Netzaufbau
    Antworten: 3
    Letzter Beitrag: 29.11.01, 11:27

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •