shell: datei auslesen bei vielen zeilen ?

Dieses Thema: "shell: datei auslesen bei vielen zeilen ?" im Forum "Shell-Skripte" wurde erstellt von holzkbri, 11.05.2004.

  1. #1 holzkbri, 11.05.2004
    holzkbri

    holzkbri Jungspund

    Dabei seit:
    11.05.2004
    Beiträge:
    10
    Zustimmungen:
    0
    Hallo an euch alle,
    ich bekomme meine schleife einfach nicht hien.
    ich habe drei datein. in jeder datei sind unterschiedlich viele zeilen drin.
    ich muss in einer schleife, diese zeilen auslesen. und jede zeile in eine variable speichern.
    hat jemand von euch eine idee wie ich das unter shell hienbekomme?

    ihr würdet mir sehr helfen

    mfg
    holzkbri
     
  2. rhythm

    rhythm evolution now!

    Dabei seit:
    02.05.2004
    Beiträge:
    172
    Zustimmungen:
    0
    Ort:
    /home
    was genau hast du denn mit dem skript vor, bzw was soll mit den zeilen der dateien geschehen? wenn du einzelne zeilen nacheinander auslesen willst, dann versuch folgendes:

    while read LINE; do
    mach was mit $LINE
    done < dateiname

    hoffe, dass ist ein ansatz, der dir hilft...
     
  3. #3 holzkbri, 11.05.2004
    holzkbri

    holzkbri Jungspund

    Dabei seit:
    11.05.2004
    Beiträge:
    10
    Zustimmungen:
    0
    so war der ansatz super
    das problem ist jetzt halt nur
    das ich jede einzelne zeile in eine variable speichern muss

    in jeder zeile sind verzeichnisse angegeben.
    und jedes verzeichniss muss in eine variable geaschrieben werden.
    vertstehst du mich?
     
  4. snax

    snax Doppel-As

    Dabei seit:
    31.03.2004
    Beiträge:
    140
    Zustimmungen:
    0
    Ort:
    BaWü
    weise doch einfach jede zeile einem array zu fertig. dann hast du jede zeile bzw. jede verzeichnis angabe in einer variablen :)

    array[n]=wert
     
  5. #5 holzkbri, 11.05.2004
    holzkbri

    holzkbri Jungspund

    Dabei seit:
    11.05.2004
    Beiträge:
    10
    Zustimmungen:
    0
    genau und das ist mein problem
    wie ich das z.b. in deinen ansatz mit einbinden würde
     
  6. rup

    rup Haudegen

    Dabei seit:
    10.04.2002
    Beiträge:
    627
    Zustimmungen:
    0
    Suchst du das:

    Code:
    #!/bin/bash
    
    cat a.txt b.txt c.txt | while
    	read line
    do
           # mach irgend etwas
    	echo "Ausgabe: $line"
    done
    
     
  7. meez

    meez miis

    Dabei seit:
    27.04.2003
    Beiträge:
    46
    Zustimmungen:
    0
    Ort:
    CH
    #! /bin/bash

    set -A vars
    set -i n=0
    while read zeile ; do
    vars[n]="$zeile"
    n=n+1
    done < /file.ftxt

    Du kannst maximal 4096 Zeilen einlesen, da Arrays nur 2^12 Felder haben.
     
  8. #8 holzkbri, 13.05.2004
    holzkbri

    holzkbri Jungspund

    Dabei seit:
    11.05.2004
    Beiträge:
    10
    Zustimmungen:
    0
    ersmal danke für diene hilfe
    leider speichert er bei dir alles in $line
    er soll am besten. jede zeile einer datei in eine extra variable speichern
    hast du da eine idee
     
  9. #9 holzkbri, 13.05.2004
    holzkbri

    holzkbri Jungspund

    Dabei seit:
    11.05.2004
    Beiträge:
    10
    Zustimmungen:
    0
    hi
    auch dir danke, das du versuchst mir zu helfen
    ergent wie ist -i verkehrt. komtm die meldung bad option. :-(
     
  10. meez

    meez miis

    Dabei seit:
    27.04.2003
    Beiträge:
    46
    Zustimmungen:
    0
    Ort:
    CH
    set -A vars
    n=0
    while read zeile ; do
    vars[n]="$zeile"
    n=`expr $n + 1`
    done < /file.ftxt
     
  11. #11 holzkbri, 13.05.2004
    holzkbri

    holzkbri Jungspund

    Dabei seit:
    11.05.2004
    Beiträge:
    10
    Zustimmungen:
    0
    jep danke
    aber er speichert doch nicht jede einzelene zeile
    so das ich sie mti eineme cho abrufen kann
     
  12. meez

    meez miis

    Dabei seit:
    27.04.2003
    Beiträge:
    46
    Zustimmungen:
    0
    Ort:
    CH
    Doch...Er kann ja gar nicht anderst..:D

    Es gibt natürlich noch eine andere Lösung, ohne einen Array:

    n=1
    while read line ; do
    eval "line$n=\"$line\""
    n=`expr $n + 1`
    done < file

    Das ergibt Variablen die so heissen: line1, line2....
     
  13. #13 holzkbri, 13.05.2004
    holzkbri

    holzkbri Jungspund

    Dabei seit:
    11.05.2004
    Beiträge:
    10
    Zustimmungen:
    0
    achso
    guckmal ich habe das jetzt so gemacht

    n=1
    while read line ; do
    eval `line$n=\"$line\"`
    n=`expr $n + 1`
    done < $DATAFILE

    echo "line1";
    echo "line2";

    der fehler ist so ( komisch. der bringt mir das richtige raus aber..)

    ./test2.sh[36]: line1="/ora_2/oradata/DBTEST33/system01.dbf": not found
    ./test2.sh[36]: line2="/ora_2/oradata/DBTEST33/undotbs01.dbf": not found
    ./test2.sh[36]: line3="/ora_2/oradata/DBTEST33/indx01.dbf": not found
    ./test.sh[36]: line4="/ora_2/oradata/DBTEST33/tools01.dbf": not found
    ./test2.sh[36]: line5="/ora_2/oradata/DBTEST33/users01.dbf": not found
    line1
    line2
     
  14. meez

    meez miis

    Dabei seit:
    27.04.2003
    Beiträge:
    46
    Zustimmungen:
    0
    Ort:
    CH
    Aendere bei eval ` zu "
     
  15. #15 holzkbri, 13.05.2004
    holzkbri

    holzkbri Jungspund

    Dabei seit:
    11.05.2004
    Beiträge:
    10
    Zustimmungen:
    0
    du bist ein schatz :-)

    danke für diene große hilfe
     
Thema: shell: datei auslesen bei vielen zeilen ?
Besucher kamen mit folgenden Suchen
  1. unix shell file auslesen und in ein array speichern

Die Seite wird geladen...

shell: datei auslesen bei vielen zeilen ? - Ähnliche Themen

  1. Shellscript unerwartetes Dateiende

    Shellscript unerwartetes Dateiende: Hallo zusammen, folgendes Script führe ich in einer .bat via cygwin und curl aus. Beim Ausführen erhalte ich die einen Syntaxfehler:...
  2. Einfaches Shellscript - dateinamen ändern

    Einfaches Shellscript - dateinamen ändern: Hey, kann mir jemand vielleicht bei diesem miniscript helfen? ich habe dateien die folgendermaßen aussehen MM-DD-YY-dateiname und...
  3. Hilfe bei bash - Shellscript gesucht: zusammengehörende Strings in Konfigdatei

    Hilfe bei bash - Shellscript gesucht: zusammengehörende Strings in Konfigdatei: Hallo zusammen, bin leider noch kein Skript-Guru, das folgende Problem wird wohl sehr in die Tiefen von substr, split, regulären Ausdrücken...
  4. Shellskript zum löschen von Dateien

    Shellskript zum löschen von Dateien: Hallo Leute, ich habe eine regelmäßige Dateiflut auf einem Server. Dort werden jeden Tag Dateien erstllt. Bisher muss man da immer per Hand...
  5. Mittels Shell Script Datei zurecht schneiden

    Mittels Shell Script Datei zurecht schneiden: Hallo, ich bin Neuling in Sachen der Shell Script Programmierung und habe folgende Frage. Ich bin dabei ein kleines mail 2 fax Script für...