Hallo miteinander,
ich kämpfe gerade mit meinem ersten (AWK) Skript.
Die Idee ist folgende. Ich übergebe AWK eine Textdatei, welche im einfachsten Fall in der ersten Zeile drei Worte hat, die mit einem Leerzeichen voneineander getrennt sind z.b.:
11111 22222 33333
Awk soll diese Werte nehmen und in eine MySQL Datenbank names test, mit einer Tabelle namens tabelle mit 3 Spalten besteht. Die Namen der Spalten lauten rcet, modrcet und onfrcet
Kurzum, es funktioniert nicht. Zwischenzeitlich hat er mit einmal die Worte rcet, modrcet und onfrcet in die Tabelle geschrieben, aber eben nicht die Werte.
Irgendetwas läuft hier falsch. Nur was?
Vielleicht könnte jemand von Euch einmal das nachstehende Skript anschauen?
Grüße,
Michael
Alles anzeigen
ich kämpfe gerade mit meinem ersten (AWK) Skript.
Die Idee ist folgende. Ich übergebe AWK eine Textdatei, welche im einfachsten Fall in der ersten Zeile drei Worte hat, die mit einem Leerzeichen voneineander getrennt sind z.b.:
11111 22222 33333
Awk soll diese Werte nehmen und in eine MySQL Datenbank names test, mit einer Tabelle namens tabelle mit 3 Spalten besteht. Die Namen der Spalten lauten rcet, modrcet und onfrcet
Kurzum, es funktioniert nicht. Zwischenzeitlich hat er mit einmal die Worte rcet, modrcet und onfrcet in die Tabelle geschrieben, aber eben nicht die Werte.
Irgendetwas läuft hier falsch. Nur was?
Vielleicht könnte jemand von Euch einmal das nachstehende Skript anschauen?
Grüße,
Michael
Quellcode
- #!/bin/awk -f
- BEGIN {
- split("0", rcet)
- split("0", modrcet)
- split("0", onfrcet)
- frcet=0
- fmodrcet=0
- fonfrcet=0
- }
- {
- if (length($0) == 0)next
- if (NF != 3){
- print "Fehler Zeile: "NR
- exit
- }
- for(i = 0; i<=1;i++){
- rcet[i]=$1
- modrcet[i]=$2
- onfrcet[i]=$3
- }
- }
- END{
- for(j=1;j<=1;j++){
- frcet=(rcet[i])
- fmodrcet=(modrcet[i])
- fonfrcet=(onfrcet[i])
- printf ("insert into test.tabelle (rcet, modrcet, onfrcet) VALUES($frcet, $fmodrcet, $fonfrcet)";
- }
- }