MySQl & Bash benötige Hilfe um etwas Vorhandenes Umzuarbeiten

Funktioniert den das Query wenn du es direkt, also ohne Script, benutzt? Du könntest höchstens noch versuchen ein Semikolon anzuhängen.

Bei nur einem Spaltennamen und nur einem Wert kann man sich eigentlich nicht verzählen. Hilfreich könnte es auch sein das generierte Query in eine Logdatei zu schreiben. So kannst du zumindest sicherstellen, dass der Fehler nicht im Script selbst liegt.
 
Werbung:
So den ersten Teil habe ich soweit hinbekommen, jetzt habe ich aber noch ein Problem mit diesem Thema:

Ich verarbeite ja .txt Dateien von unterschiedlichen Rechnern diese Dateien sehen Grundlegend sehr gleich aus.


Inhalt Beispiel: Datum, Uhrzeit, Wert
Code:
02.11.2012 21:50:25    0,00000
02.11.2012 21:50:25    0,00000
02.11.2012 21:53:50    12,24500
02.11.2012 22:20:17    12,24500
02.11.2012 22:20:38    12,23167
02.11.2012 22:30:40    12,23167
02.11.2012 22:31:01    12,22833
02.11.2012 22:46:24    12,22833
02.11.2012 22:48:37    12,22667
02.11.2012 22:54:27    20,76667

Aktuell wird in meinem Script mit diesem Befehl:
Code:
# Messdaten in MySQL-CSV-Format bringen
# (TAB einfügen als Feldtrenner)
# (Zeitstempel in DATETIME-Fomat wandeln)
# (Dateinamen in Tabellennamen ändern)
##########################################
            cat "$FULLFILE" | sed -e "s%\([0-9]\+\)[.:]\([0-9]\+\)[.:]\([0-9]\+\)[ \t]\+\([0-9:.]\+\)[\t]\+\([0-9]*\)[,.]\([0-9]*\)%\3-\2-\1 \4    \5.\6%" > $TMPDIR/$MACHINE-$SENSOR.mysqlimport

Offensichtlich eine CSV Erzeugt nur habe ich keine Ahnung was hier genau vorgeht, könnt ihr mir eventuell erklären was genau Passiert?
 
Werbung:
Aktuell wird in meinem Script mit diesem Befehl:
Code:
# Messdaten in MySQL-CSV-Format bringen
# (TAB einfügen als Feldtrenner)
# (Zeitstempel in DATETIME-Fomat wandeln)
# (Dateinamen in Tabellennamen ändern)
##########################################
            cat "$FULLFILE" | sed -e "s%\([0-9]\+\)[.:]\([0-9]\+\)[.:]\([0-9]\+\)[ \t]\+\([0-9:.]\+\)[\t]\+\([0-9]*\)[,.]\([0-9]*\)%\3-\2-\1 \4    \5.\6%" > $TMPDIR/$MACHINE-$SENSOR.mysqlimport

Offensichtlich eine CSV Erzeugt nur habe ich keine Ahnung was hier genau vorgeht, könnt ihr mir eventuell erklären was genau Passiert?


Offenbar nicht viel:

Code:
echo "02.11.2012 21:50:25  0,00000" | sed -e "s%\([0-9]\+\)[.:]\([0-9]\+\)[.:]\([0-9]\+\)[ \t]\+\([0-9:.]\+\)[\t]\+\([0-9]*\)[,.]\([0-9]*\)%\3-\2-\1 \4  \5.\6%"
02.11.2012 21:50:25  0,00000

Das, was rausfällt, sieht noch immer so aus, wie es eingeworfen wurde. Bei sed.
 
Zurück
Oben