brenner
Commander
- Registriert
- Apr. 2002
- Beiträge
- 3.037
Irgendwie war ich fast fertig, aber nun komme ich nicht weiter. Ich möchte ein Logfile auswerten. Wenn sich der "CUM" Wert zwischen den letzten beiden Zeilen um mehr als 0.545 ändert, dann soll der CUM Wert der letzten Zeile mit dem CUM Wert der vorletzten Zeile überschrieben werden.
Das Logfile sieht im Original so aus:
Errechnet habe ich die Differenz folgendermaßen:
Die Schleife sieht so aus (Script wird von aussen aufgerufen im Minutentakt):
Und nun ist meine Hürde/n da, ich muss jetzt quasi "NUR" noch die entsprechende Spalte der letzten Zeile gegen die der vorletzten austauschen
Das Logfile sieht im Original so aus:
Code:
2013-04-22_22:11:43 CUL_EM_6 CNT: 144 CUM: 97.209 5MIN: 0.000 TOP: 0.000
2013-04-22_22:12:43 CUL_EM_6 CNT: 144 CUM: 97.309 5MIN: 0.000 TOP: 0.000
2013-04-22_22:13:43 CUL_EM_6 CNT: 144 CUM: 98.309 5MIN: 0.000 TOP: 0.000
Errechnet habe ich die Differenz folgendermaßen:
Code:
#CUM Wert der letzten Zeile
SUM_COR_VAR1=`tail -n1 "$LOG_FILE_CNT" | awk '{print $6}' | sed 's/\.//'`;
#CUM Wert der vorletzten Zeile
SUM_COR_VAR2=`tail -n2 "$LOG_FILE_CNT" | head -n1 | awk '{print $6}' | sed 's/\.//'`;
#Differenz zwischen beiden Werten
SUM_COR_VAR3=$(($SUM_COR_VAR1 - $SUM_COR_VAR2))
Die Schleife sieht so aus (Script wird von aussen aufgerufen im Minutentakt):
Code:
if [[ "$SUM_COR_VAR3" -ge 545 ]]; then
#Hier soll das Ersetzen des CUM Wertes rein
fi
Und nun ist meine Hürde/n da, ich muss jetzt quasi "NUR" noch die entsprechende Spalte der letzten Zeile gegen die der vorletzten austauschen