AWK und Schleifen

Diskutiere AWK und Schleifen im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; Hallo, habe leider noch nicht viel gescriptet :-( und stehe nun vor folgendem Problem: i=1 while [ $i -le 10 ] do ID$i=`cat $DATEI | grep...

  1. #1 SchneeMann3000, 22.09.2006
    SchneeMann3000

    SchneeMann3000 Jungspund

    Dabei seit:
    29.07.2006
    Beiträge:
    10
    Zustimmungen:
    0
    Hallo,

    habe leider noch nicht viel gescriptet :-( und stehe nun vor folgendem Problem:

    i=1
    while [ $i -le 10 ]
    do
    ID$i=`cat $DATEI | grep "Reallocated_Sector_Ct" | awk -F ' ' ' {print $$i}'`
    echo $ID$i
    i=`expr $i + 1`
    echo "insert into smarttest (Datum,IDENTNR,ATTRIBUTE_NAME,FLAG,VALUE,WORST,THRESH,TYPE,UPDATED,WHEN_FAILED,RAW_VALUE) VALUES ('$DATE','$ID01','$ID02','$ID03','$ID04','$ID05','$ID06','$ID07','$ID08','$ID09','$ID10');"
    done


    Ein paar Leerzeichen werden hier irgendwie nicht angezeigt...

    Wie man hoffentlich sieht möchte ich aus der Ausgabe von smartctl etwas in eine MySQL-Datenbank speichern, allerdings weiss ich nicht wie ich das an den "rot" markierten Stellen machen soll. Bzw ob dies überhaupt so gehen würde :think:

    Hiermit habe ich genau das was ich haben will, aber sowas finde ich nicht so optimal...: (vorallem wenn es nun 100 Punkte zum abarbeiten wären)

    ID01=`cat $DATEI | grep "Reallocated_Sector_Ct" | awk -F ' ' '{print $1}'`
    ID02=`cat $DATEI | grep "Reallocated_Sector_Ct" | awk -F ' ' '{print $2}'`
    ID03=`cat $DATEI | grep "Reallocated_Sector_Ct" | awk -F ' ' '{print $3}'`
    ID04=`cat $DATEI | grep "Reallocated_Sector_Ct"| awk -F ' ' '{print $4}'`
    ID05=`cat $DATEI | grep "Reallocated_Sector_Ct"| awk -F ' ' '{print $5}'`
    ID06=`cat $DATEI | grep "Reallocated_Sector_Ct" | awk -F ' ' '{print $6}'`
    ID07=`cat $DATEI | grep "Reallocated_Sector_Ct" | awk -F ' ' '{print $7}'`
    ID08=`cat $DATEI | grep "Reallocated_Sector_Ct" | awk -F ' ' '{print $8}'`
    ID09=`cat $DATEI | grep "Reallocated_Sector_Ct" | awk -F ' ' '{print $9}'`
    ID10=`cat $DATEI | grep "Reallocated_Sector_Ct"| awk -F ' ' '{print $10}'`

    echo "<--SQL INSERT-->"
    echo "insert into smarttest (Datum,IDENTNR,ATTRIBUTE_NAME,FLAG,VALUE,WORST,THRESH,TYPE,UPDATED,WHEN_FAILED,RAW_VALUE) VALUES ('$DATE','$ID01','$ID02','$ID03','$ID04','$ID05','$ID06','$ID07','$ID08','$ID09','$ID10');"


    Kennt sich damit vielleicht jemand besser aus? (bin ich mir sicher)
    Danke
    Gruss
    SchneeMann
     
  2. DaMutz

    DaMutz Doppel-As

    Dabei seit:
    18.10.2003
    Beiträge:
    149
    Zustimmungen:
    0
    Ort:
    Giebenach / Schweiz
    Code:
    i=1
    while [ $i -le 10 ]
    do
            a=\$$i
            ID[$i]=`grep "Reallocated_Sector_Ct" $DATEI | awk -F " " "{print $a}"`
            echo ${ID[$i]}
            i=`expr $i + 1`
    done
    
    Bei mir ist es jetzt ein Array. Aber sonst funktioniert es. Dein echo "insert..." musst du aber erst machen nachdem das ganze Array erstellt wurde.
     
Thema:

AWK und Schleifen

Die Seite wird geladen...

AWK und Schleifen - Ähnliche Themen

  1. Durschleifen Sound von Line-In nach Line-Out oder so...

    Durschleifen Sound von Line-In nach Line-Out oder so...: Hallo Zusammen, Ich habe folgendes Problem mit meiner Soundkarte: Am Line-In der Soundkarte habe ich über ein Kabel den Line-Out meiner TV-Karte...
  2. Bash - Problem mit verschachtelten Schleifen

    Bash - Problem mit verschachtelten Schleifen: Hallo, ich habe bei einem Skript ein Problem mit einer If-Schleife in einer While-Schleife, das Skript soll auf mehreren Servern SQL-Befehle...
  3. Variable oder Array nach Schleifendurchlauf

    Variable oder Array nach Schleifendurchlauf: Hallo zusammen, ich hab vor einiger Zeit ein Skript geschrieben (unter AIX), dass aus einer Datei Werte ausliest und in zwei Arrays schreibt....
  4. while-Schleifen

    while-Schleifen: Hallo, ich versuche mich gerade in einer verschachtelten while-Schleife. Warum wird die erste Schleife nur einmal durchlaufen? Was kann ich...