AWK und Schleifen

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von SchneeMann3000, 22.09.2006.

  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. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. 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...