Imp
23.08.2010, 13:05
Hi Leute!
Beim Auslesen von Messdaten bin ich auf ein seltsames Problem gestoßen. In sieben verschiedenen Messdatenfiles sind jeweils die Messdaten eines Tages, mit 144 Zehn-Minuten-Mitelwerte (mit Leerzeichen als Trennzeichen)gespeichert.
##### Ausschnitt aus der Messwertdatei ###
23.08.2010 00:10:00 +0.592E+03 +0.937E-01 +0.129E+00 +0.550E+02 +0.929E-01 -0.119E-01 +0.844E-01 +0.217E+00 +0.280E+02 +0.473E-01 -0.171E+00 +0.834E-01 +0.229E+00 +0.450E+02 +0.760E-01 +0.791E+01 +0.175E+01 +0.100E+01 +0.592E+03 +0.854E-01 +0.135E+00 +0.274E+03 +0.463E+00 +0.518E+01 +0.840E-01 +0.261E+00 +0.572E+04 +0.965E+01 +0.367E+02 +0.843E-01 +0.269E+00 +0.460E+02 +0.777E-01 +0.618E+01 +0.195 E+01 +0.100E+01 +0.115E+03
23.08.2010 00:20:00 +0.598E+03 +0.937E-01 +0.129E+00 +0.430E+02 +0.719E-01 -0.348E+00 +0.844E-01 +0.217E+00 +0.520E+02 +0.870E-01 +0.118E-01 +0.834E-01 +0.229E+00 +0.430E+02 +0.719E-01 +0.748E+01 +0.175E+01 +0.100E+01 +0.598E+03 +0.854E-01 +0.135E+00 +0.748E+03 +0.125E+01 +0.160E+02 +0.840E-01 +0.261E+00 +0.506E+04 +0.845E+01 +0.321E+02 +0.843E-01 +0.269E+00 +0.600E+02 +0.100E+00 +0.798E+01 +0.195E+01 +0.100E+01 +0.113E+03
..
..
23.08.2010 23:50:00 +0.598E+03 +0.937E-01 +0.129E+00 +0.520E+02 +0.869E-01 -0.108E+00 +0.844E-01 +0.217E+00 +0.550E+02 +0.920E-01 +0.348E-01 +0.834E-01 +0.229E+00 +0.390E+02 +0.652E-01 +0.678E+01 +0.175E+01 +0.100E+01 +0.599E+03 +0.854E-01 +0.135E+00 +0.107E+04 +0.179E+01 +0.234E+02 +0.840E-01 +0.261E+00 +0.430E+04 +0.719E+01 +0.272E+02 +0.843E-01 +0.269E+00 +0.470E+02 +0.785E-01 +0.625E+01 +0.195E+01 +0.100E+01 +0.111E+03
Aus diesen sieben Files möchte ich einen Wert vom aktuellen
Monat zu einer bestimmten Uhrzeit auslesen und darunter, zum Vergleich, den Wert von vor zwei Monaten auflisten. Mein Kommandozeilen-Versuch tut, bis an einer Stelle "M2" wie befohlen:
MM=08
VM=06
for MS in M1 M2 M3 M4 M5 M6 ZM ; do printf $MS &&
awk '/20:00:00/ {print " " $1 " --> " $36, $44, $52, " | | " $37, $45, $53 }' 2010${MM}06${MS}FZ &&
awk '/20:00:00/ {print " " $1 " --> " $36, $44, $52, "| | " $37, $45, $53 "\n" }' 2010${VM}06${MS}FZ ; done
Ergebnis:
M1 06.08.2010 --> +0.854E-01 +0.840E-01 +0.843E-01 | | +0.135E+00 +0.261E+00 +0.269E+00
06.06.2010 --> +0.863E-01 +0.842E-01 +0.837E-01 | | +0.134E+00 +0.262E+00 +0.269E+00
M2 06.06.2010 --> +0.910E-01 +0.804E-01 +0.808E-01 | | +0.138E+00 +0.263E+00 +0.266E+00
M3 06.08.2010 --> +0.929E-01 +0.827E-01 +0.839E-01 | | +0.133E+00 +0.244E+00 +0.261E+00
06.06.2010 --> +0.950E-01 +0.838E-01 +0.824E-01 | | +0.133E+00 +0.241E+00 +0.261E+00
M4 06.08.2010 --> +0.950E-01 +0.847E-01 +0.860E-01 | | +0.141E+00 +0.264E+00 +0.264E+00
06.06.2010 --> +0.982E-01 +0.824E-01 +0.834E-01 | | +0.140E+00 +0.263E+00 +0.263E+00
M5 06.08.2010 --> +0.923E-01 +0.812E-01 +0.832E-01 | | +0.126E+00 +0.256E+00 +0.254E+00
06.06.2010 --> +0.954E-01 +0.812E-01 +0.822E-01 | | +0.128E+00 +0.255E+00 +0.255E+00
M6 06.08.2010 --> +0.973E-01 +0.807E-01 +0.798E-01 | | +0.136E+00 +0.248E+00 +0.246E+00
06.06.2010 --> +0.982E-01 +0.825E-01 +0.801E-01 | | +0.135E+00 +0.248E+00 +0.243E+00
ZM 06.08.2010 --> +0.954E-01 +0.835E-01 +0.854E-01 | | +0.118E+00 +0.219E+00 +0.228E+00
06.06.2010 --> +0.960E-01 +0.855E-01 +0.831E-01 | | +0.119E+00 +0.220E+00 +0.232E+00
Bis auf die M2-Daten tut das Script auch, was es soll. Die Datei für den Monat 08 ist deckungsgleich aufgebaut, jedoch liefert das Script die Daten für die Messstelle M2 nicht.
Habt Ihr eine Idee, warum das Script an dieser Stelle ins Straucheln gerät?
Vorab besten Dank und Grüße aus Aachen!
Ralf :mauer:
Beim Auslesen von Messdaten bin ich auf ein seltsames Problem gestoßen. In sieben verschiedenen Messdatenfiles sind jeweils die Messdaten eines Tages, mit 144 Zehn-Minuten-Mitelwerte (mit Leerzeichen als Trennzeichen)gespeichert.
##### Ausschnitt aus der Messwertdatei ###
23.08.2010 00:10:00 +0.592E+03 +0.937E-01 +0.129E+00 +0.550E+02 +0.929E-01 -0.119E-01 +0.844E-01 +0.217E+00 +0.280E+02 +0.473E-01 -0.171E+00 +0.834E-01 +0.229E+00 +0.450E+02 +0.760E-01 +0.791E+01 +0.175E+01 +0.100E+01 +0.592E+03 +0.854E-01 +0.135E+00 +0.274E+03 +0.463E+00 +0.518E+01 +0.840E-01 +0.261E+00 +0.572E+04 +0.965E+01 +0.367E+02 +0.843E-01 +0.269E+00 +0.460E+02 +0.777E-01 +0.618E+01 +0.195 E+01 +0.100E+01 +0.115E+03
23.08.2010 00:20:00 +0.598E+03 +0.937E-01 +0.129E+00 +0.430E+02 +0.719E-01 -0.348E+00 +0.844E-01 +0.217E+00 +0.520E+02 +0.870E-01 +0.118E-01 +0.834E-01 +0.229E+00 +0.430E+02 +0.719E-01 +0.748E+01 +0.175E+01 +0.100E+01 +0.598E+03 +0.854E-01 +0.135E+00 +0.748E+03 +0.125E+01 +0.160E+02 +0.840E-01 +0.261E+00 +0.506E+04 +0.845E+01 +0.321E+02 +0.843E-01 +0.269E+00 +0.600E+02 +0.100E+00 +0.798E+01 +0.195E+01 +0.100E+01 +0.113E+03
..
..
23.08.2010 23:50:00 +0.598E+03 +0.937E-01 +0.129E+00 +0.520E+02 +0.869E-01 -0.108E+00 +0.844E-01 +0.217E+00 +0.550E+02 +0.920E-01 +0.348E-01 +0.834E-01 +0.229E+00 +0.390E+02 +0.652E-01 +0.678E+01 +0.175E+01 +0.100E+01 +0.599E+03 +0.854E-01 +0.135E+00 +0.107E+04 +0.179E+01 +0.234E+02 +0.840E-01 +0.261E+00 +0.430E+04 +0.719E+01 +0.272E+02 +0.843E-01 +0.269E+00 +0.470E+02 +0.785E-01 +0.625E+01 +0.195E+01 +0.100E+01 +0.111E+03
Aus diesen sieben Files möchte ich einen Wert vom aktuellen
Monat zu einer bestimmten Uhrzeit auslesen und darunter, zum Vergleich, den Wert von vor zwei Monaten auflisten. Mein Kommandozeilen-Versuch tut, bis an einer Stelle "M2" wie befohlen:
MM=08
VM=06
for MS in M1 M2 M3 M4 M5 M6 ZM ; do printf $MS &&
awk '/20:00:00/ {print " " $1 " --> " $36, $44, $52, " | | " $37, $45, $53 }' 2010${MM}06${MS}FZ &&
awk '/20:00:00/ {print " " $1 " --> " $36, $44, $52, "| | " $37, $45, $53 "\n" }' 2010${VM}06${MS}FZ ; done
Ergebnis:
M1 06.08.2010 --> +0.854E-01 +0.840E-01 +0.843E-01 | | +0.135E+00 +0.261E+00 +0.269E+00
06.06.2010 --> +0.863E-01 +0.842E-01 +0.837E-01 | | +0.134E+00 +0.262E+00 +0.269E+00
M2 06.06.2010 --> +0.910E-01 +0.804E-01 +0.808E-01 | | +0.138E+00 +0.263E+00 +0.266E+00
M3 06.08.2010 --> +0.929E-01 +0.827E-01 +0.839E-01 | | +0.133E+00 +0.244E+00 +0.261E+00
06.06.2010 --> +0.950E-01 +0.838E-01 +0.824E-01 | | +0.133E+00 +0.241E+00 +0.261E+00
M4 06.08.2010 --> +0.950E-01 +0.847E-01 +0.860E-01 | | +0.141E+00 +0.264E+00 +0.264E+00
06.06.2010 --> +0.982E-01 +0.824E-01 +0.834E-01 | | +0.140E+00 +0.263E+00 +0.263E+00
M5 06.08.2010 --> +0.923E-01 +0.812E-01 +0.832E-01 | | +0.126E+00 +0.256E+00 +0.254E+00
06.06.2010 --> +0.954E-01 +0.812E-01 +0.822E-01 | | +0.128E+00 +0.255E+00 +0.255E+00
M6 06.08.2010 --> +0.973E-01 +0.807E-01 +0.798E-01 | | +0.136E+00 +0.248E+00 +0.246E+00
06.06.2010 --> +0.982E-01 +0.825E-01 +0.801E-01 | | +0.135E+00 +0.248E+00 +0.243E+00
ZM 06.08.2010 --> +0.954E-01 +0.835E-01 +0.854E-01 | | +0.118E+00 +0.219E+00 +0.228E+00
06.06.2010 --> +0.960E-01 +0.855E-01 +0.831E-01 | | +0.119E+00 +0.220E+00 +0.232E+00
Bis auf die M2-Daten tut das Script auch, was es soll. Die Datei für den Monat 08 ist deckungsgleich aufgebaut, jedoch liefert das Script die Daten für die Messstelle M2 nicht.
Habt Ihr eine Idee, warum das Script an dieser Stelle ins Straucheln gerät?
Vorab besten Dank und Grüße aus Aachen!
Ralf :mauer: