Schleife zum einlesen vieler Dateien funktioniert nicht

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Dekker, 20.06.2011.

  1. #1 Dekker, 20.06.2011
    Zuletzt bearbeitet: 20.06.2011
    Dekker

    Dekker "Guru" under construction

    Dabei seit:
    06.08.2004
    Beiträge:
    76
    Zustimmungen:
    0
    [gelöst] Schleife zum einlesen vieler Dateien funktioniert nicht

    Hallo Leute,

    ich habe ein kleines Problem. Mein Script zerlegt eine große Datei, in viele kleine. Danach soll jede kleine Datei, nach einem bestimmten Format zerschnitten werden und in einer csv Datei zusammen gesetzt werden.

    Leider ließt das Script nur die erste Datei ein und schreibt dann so oft wie zerstückelte Dateien vorhanden sind das gleiche in die csv-Datei.

    Ich hab schon sämtliche Varianten von for probiert aber leider macht es immer nur das gleiche.

    Bitte nicht den rest des Scripts anschauen. Es funktioniert einfach!! Es muss nicht schön oder schnell sein.

    Danke

    Mfg dekker
    Code:
    #!/bin/bash
    
    PASSWD=test.msg
    
    mkdir files
    rm ids.csv
    rm files/teil.*
    csplit -k -f files/teil. test.msg '/-----------------------------/' {*} 
    
    
    
    for i in files/teil.*;
     
    do
    echo $i
    id=$(cut -d: -f2 $PASSWD | sed -ne '3p'); 
    name_a=$(cut -d: -f2 $PASSWD | sed -ne '5p');
    street=$(cut -d: -f2 $PASSWD | sed -ne '8p'); 
    city=$(cut -d: -f2 $PASSWD | sed -ne '10p');
    zip=$(cut -d: -f2 $PASSWD | sed -ne '11p'); 
    phone=$(cut -d: -f2 $PASSWD | sed -ne '13p');
    speed=$(cut -d: -f2 $PASSWD | sed -ne '18p' | cut -d';' -f1 | cut -d'[' -f1 ); 
    pop=$(cut -d: -f2 $PASSWD | sed -ne '20p' | cut -d';' -f1);
    
    
    case $speed in
    #CSN
    ' E1 ') lbz="P;;;";;
    ' mbps') lbz="R;;;";;
    
    esac;
    
    case $pop in 
    ' Frankfurt 1') standort_a="Global ;";;
    ' Frankfurt 2') standort_a="Tele;";;
    
    esac;
    
    echo ";Neueinrichtung;$lbz;;$standort_a;;;;$name_a;$zip$city;$street;;;$phoneid" >> ids.csv;
    
    
    done
    
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 tuxlover, 21.06.2011
    tuxlover

    tuxlover Der den Tux knuddelt

    Dabei seit:
    26.10.2005
    Beiträge:
    2.106
    Zustimmungen:
    0
    Ort:
    berlin
    info coreutils ;) könnte hilfreich sein.

    Ohne genaue infos kann dir keiner helfen. Was soll wie zerschnitten werden und wieder zusammengefügt werden?
     
  4. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.054
    Zustimmungen:
    8
    evtl. solltest Du den einzelnen Anweisungen die Datei $i aus der Schleife übergeben anstatt die initiale Datei $PASSWD, die Du zerlegen willst...
     
Thema:

Schleife zum einlesen vieler Dateien funktioniert nicht

Die Seite wird geladen...

Schleife zum einlesen vieler Dateien funktioniert nicht - Ähnliche Themen

  1. For Schleife in eine Variable(String) einlesen

    For Schleife in eine Variable(String) einlesen: Moin, Folgendes Script soll checken ob es auf dem Server neue Dateien eines bestimmten Musters gibt und diese dann herunterladen. Soweit ist...
  2. for schleife für eine Zeile

    for schleife für eine Zeile: Hallo, ich bin neu hier in diesem Forum. Evtl. kann mir ja einer von euch bei meinem Problem helfen. Ich möchte für ein entpackprogramm eine...
  3. Systemd-Projekt veröffentlicht Event-Verarbeitungsschleife

    Systemd-Projekt veröffentlicht Event-Verarbeitungsschleife: Das Systemd-Projekt hat seine selbst entwickelte Event-Verarbeitungsschleife zum stabilen Teil von libsystemd erklärt. »sd-event« steht damit auch...
  4. continue in Schleife einbauen

    continue in Schleife einbauen: Hallo alle zusammen, ich schreibe grad an einem shell script und habe folgendes Problem: Ich möchte, dass die beiden if Anweisungen (zeile...
  5. [FRAGE] Dateinamen normalisieren während sie in einer "for" Schleife sind

    [FRAGE] Dateinamen normalisieren während sie in einer "for" Schleife sind: Moin Gemeinde, ich habe ein Skript welches Emails abholt und weiterverarbeitet, manche müssen ausgedruckt werden. Nun hat sich herausgestellt...