xml parse und update in sql

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von 081569, 21.03.2010.

  1. #1 081569, 21.03.2010
    Zuletzt bearbeitet: 21.03.2010
    081569

    081569 Grünschnabel

    Dabei seit:
    21.03.2010
    Beiträge:
    5
    Zustimmungen:
    0
    hallo,

    habe mir bereits einenn eigenen xml paser in bash geschrieben, der auch soweit sogut funktioniert.
    da er in einer endloschleife läuft und nur in die sql updaten soll wenn daten vorhanden sind habe ich da so ein problem das er mir ständig in die sql updatet obwohl der wert 0 ist und ich finde den fehler nicht:

    #!/bin/bash

    while true;
    do

    zero=0

    key=`awk '/<key>/ {stp=index($0,">")+1; \
    newstr=substr($0,stp); \
    etp=index(newstr,"<"); \
    print substr(newstr,0,etp); \
    }' test.xml`
    if ["$key" = ""]; then
    key=$zero
    fi


    if ["$key" = "0"]; then
    echo "no insert"
    done
    else
    mysql --user=user --password=password WAS -e "INSERT INTO protokoll VALUES(CURRENT_TIMESTAMP,'${key}');"
    sleep 10
    done
    fi

    desweiteren soll er nicht updaten wenn sich der key zu vorigen durchlauf nicht verändert hat.... vielleicht aht auch jemand einen tipp dazu,

    danke!

    g.
     
  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 daboss, 21.03.2010
    Zuletzt bearbeitet: 21.03.2010
    daboss

    daboss Keine Macht für niemand!

    Dabei seit:
    05.01.2007
    Beiträge:
    1.294
    Zustimmungen:
    0
    Ort:
    sydney.australia.world
    Wenn du $key leer lassen würdest, würde [] auch false zurückgeben... aber dein Konstrukt mit dem if-Zeugs funktioniert so schon, wie es soll. Hast du mal geschaut, was in $key steht? Beachte ausserdem, das in den Klammern auch Leerzeichen stehen müssen, also
    Code:
    [ "$key" = "0" ]; then
    statt
    Code:
    ["$key" = "0"]; then
     
  4. 081569

    081569 Grünschnabel

    Dabei seit:
    21.03.2010
    Beiträge:
    5
    Zustimmungen:
    0
    in $key steht wenn awk nix findet also ="" eine "0" habe dass dann auch so in der datenbank stehen.

    also diese :
    if ["$key" = ""]; then
    key=$zero
    fi

    funzen, habe mehrere davon drinnen und wenn nix im html tag steht habe ich nur nullen in der datenbank..... dass passt auch so

    frage als bash neuling, sind diese leerzeichen so elementar?

    danke!
     
  5. daboss

    daboss Keine Macht für niemand!

    Dabei seit:
    05.01.2007
    Beiträge:
    1.294
    Zustimmungen:
    0
    Ort:
    sydney.australia.world
    Sind sie, ja. (Mit ist das erst am Ende aufgefallen, das die bei dir fehlen...)
     
  6. 081569

    081569 Grünschnabel

    Dabei seit:
    21.03.2010
    Beiträge:
    5
    Zustimmungen:
    0
    super danke!, das funzt jetzt!

    aber, kann ich aus einer while schleife nicht mit done wieder zum anfang
    springen?? wie dann?

    im detail:

    if [ "$key" = "0" ]; then
    echo "no insert";
    done // dieses done bemängelt die shell
    sleep 10
    else
    echo "instert";
    sleep 10
    fi
    done

    danke!
     
  7. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  8. daboss

    daboss Keine Macht für niemand!

    Dabei seit:
    05.01.2007
    Beiträge:
    1.294
    Zustimmungen:
    0
    Ort:
    sydney.australia.world
    if-Schleifen werden mit fi beendet, while-Schleifen mit done.

    Also passen deine beiden done's im if überhaupt nicht. Wenn du die nach das fi stellst, sollte es sich so verhalten, wie du dir das vorstellst.

    /Edit: Wenn du Codestücke postest, wäre es übersichtlicher, wenn du die in [noparse]
    Code:
    
    
    [/noparse]-Blöcke stellen würdest.
     
  9. 081569

    081569 Grünschnabel

    Dabei seit:
    21.03.2010
    Beiträge:
    5
    Zustimmungen:
    0
    danke! hatte einen denkfehler! funzt!
    alles klar werde zukünftig den code tag benutzen!
    danke!
     
Thema:

xml parse und update in sql

Die Seite wird geladen...

xml parse und update in sql - Ähnliche Themen

  1. iscsi-target als sparse-file?

    iscsi-target als sparse-file?: hallo zusammen, habe gestern ein iscsi-target in der grösse von 750gb mithilfe von "dd if" angelegt. (bs=768k, count=1024000) nun ging das...
  2. E-Book-Manager Calibre 1.1.0 mit neuem HTML-Meta-Parser

    E-Book-Manager Calibre 1.1.0 mit neuem HTML-Meta-Parser: Für das freie Programm Calibre zum Verwalten von E-Book-Sammlungen liegt nur wenige Tage nach Veröffentlichung der Version 1.0 ein erstes Update...
  3. Mit awk ein textfile parsen und SQL daraus erzeugen.

    Mit awk ein textfile parsen und SQL daraus erzeugen.: Hallo, ich hab ein (Verständnis)Problem mit awk. Der Plan ist, mit einem cronjob (awk Einzeiler) aus einem textfile Werte in eine vorhandene...
  4. 'xml Parser' in bash

    'xml Parser' in bash: Hallo, nach langer Inaktivität hab ich mal wieder ein Problem. Ich habe eine XML-Datei die eventuell eine Liste mit Dateien enthält, die in ein...
  5. Configfile & Parser in C

    Configfile & Parser in C: Hallo, ich würde gerne ein Configfile und einen Parser dazu in ein Programm einbauen. Allerdings bin ich schon sehr früh draufgekommen, das das...