mehrere Variable aus Textdatei auslesen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
mcmehl
Beiträge: 276
Registriert: 16.06.2004 16:53:15
Kontaktdaten:

mehrere Variable aus Textdatei auslesen

Beitrag von mcmehl » 13.12.2004 12:41:56

Hallo

ich suche eine einfach Möglichkeit Variable aus Textdateien auszulesen.

Die Datei sieht so aus:

Code: Alles auswählen

Wert1;Wert2;WertXXX
Ziel der Übng ist es bestimmte Werte mittels Bashscript in eine MYSQL -Datenbank einzutragen.
Die Werte müssen wahrscheinlich getrennt übergeben werden und nicht als zusammenhängender String, sonst kann man ja die Werte nicht in einzelne Datenbankfelder schreiben.

Vielen Dank

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 13.12.2004 13:24:56

mit "read" geht das sehr einfach:

Code: Alles auswählen

IFS=";"
while read -r xx[0] xx[1] xx[2];
do
   printf "%s %s %s\n" ${xx[0]} ${xx[1]} ${xx[2]}
done < x.txt

vielleicht brauchst du das aber nicht, wenn du ',' als delimiter verwendest

Code: Alles auswählen

insert into <table> (col1,col2,....coln) values (val1,val2,...valn)
[edit]
ich habe keine Erfahrung mit MySql, aber bei DB2 wäre das eine Lösung:

Code: Alles auswählen

for line in `cat x.txt`; do
  db2 "insert into <table> (col1,col2) values ($line)"
done
[/edit]

Benutzeravatar
mcmehl
Beiträge: 276
Registriert: 16.06.2004 16:53:15
Kontaktdaten:

Beitrag von mcmehl » 13.12.2004 13:35:40

Danke, genau das was ich brauchte.

Ja direkt einfügen ist nicht möglich, weil vorher noch geprüft werden muss ob ggf. ein ein Eintrag schon vorhanden ist.


Vielen vielen Dank nochmal

Antworten