Christoph Hanslik schrieb:
Am Dienstag 14 Juli 2009 schrieb Hans_B:
Daniel Bauer schrieb:
On Tuesday 14 July 2009 16:49:38, Hans_B wrote:
Folgendes, ich habe eine Textdatei Inhalt:
Jun 28 18:23:59 00-12-f0-02-1d-3a Jun 28 18:33:14 00-12-f0-02-1d-3a ...
Diese Daten möchte ich nu in die Mysql Datenbank senden. Wobei jede Zeile einen Eintrag in die Datenbank darstellen soll.
Ich würde das mit einem php-script machen. So in der Art:
<?php $in = fopen ("datei.txt", "r"); while (!feof($in)) { $zeile = fgets($in); $felder=explode(" ", $zeile); $resultat=mysql_query("INSERT INTO tabelle SET feld0='$felder[0]', feld1='$felder[1]', ... "); } ... ?>
Es gibt sicher unzählige andere, wahrscheinlich simplere Möglichkeiten.
Daniel
Hallo zusammen,
gibt es keine Möglichkeit das direkt mit Bash Script umzusetzten?
Hi, nur bash wird wohl etwas komplizierter, aber awk kann die Daten zu SQL-Befehlen umschnitzen und dann kannst Du das SQL-file auf der Kommandozeile in die Datenbank einlesen, z.B.
% awk '{print "INSERT INTO table (month, day, time, mac) VALUES ($1, $2, $3,\ $4);"}' test-file >test.sql
% mysql -u user -h host -D db-name < test.sql (Passwortabfrage)
fertig. Mit Kommata und anderen Satzzeichen vielleicht noch etwas experimentieren, ist als reine Trockenübung sicher noch was nicht ganz gar.
Viel Vergnügen
Christoph
Hallo Christoph, habe es nun getestet, nach dem ich den Aufruf des scripts mache bringt er mir die Hilfe con mysql. Ist es korrekt das er mir die in der Datei .sql dann die Zeilen stehen INSERT INTO table (month, day, time, mac) VALUES ($1, $2, $3, $4); müsste dort nicht drin stehen INSERT INTO table (Jun, 28, 18:23:59, 00-12-f0-02-1d-3a) VALUES ($1, $2, $3, $4); oder irre ich mich da? Danke schon mal im vorraus.... Gruß Hans -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org