0 Members and 1 Guest are viewing this topic.
do_create_timestamps(){ # In Array Index, Datum, Zeit und absoluten Sekundenwert der Onlinezeiten schreiben journalctl --since="$SINCE" --until="$UNTIL" --output=short-iso --no-pager | egrep '(command line: BOOT_IMAGE|Journal stopped)' | while read JOURNAL_ROW do # ersten Wert ueberspringen wenn dieser den Wert "Journal stopped" enthält SKIP=`expr match "$JOURNAL_ROW" '.*Journal stopped'` if [ $INDEX -eq 0 -a $SKIP -ne 0 ] then continue fi TS=$(echo $JOURNAL_ROW | cut -d" " -f1|awk -F"T" '{print $1"#"$2}' | awk -F"+" '{print $1}') TMP=$(echo ${TS//#/ }) TIME_IN_SEC=$(date --utc --date "$TMP" +%s) #echo "$INDEX"#"$TS"#"$TIME_IN_SEC" ARRAY_TIMESTAMP[$INDEX]=$INDEX"#"$TS"#"$TIME_IN_SEC INDEX=$(($INDEX + 1)) donefor X in ${ARRAY_TIMESTAMP[@]} do echo $Xdone#Werte ausgebenecho "Werte:"${#ARRAY_TIMESTAMP[@]}# Anzahl der Zeilen ausgebenecho "Anzahl der Werte:"${ARRAY_TIMESTAMP[0]}}
Werte:Anzahl der Werte:0
echo "$INDEX"#"$TS"#"$TIME_IN_SEC"
0#2014-11-01#22:18:46#14148803261#2014-11-02#17:49:00#14149505402#2014-11-02#17:53:31#14149508113#2014-11-02#17:53:54#14149508344#2014-11-02#21:54:52#1414965292Werte:Anzahl der Werte:0
ARRAY_TIMESTAMP[$INDEX]=$INDEX"#"$TS"#"$TIME_IN_SEC
[...]do_create_timestamps(){ # Ausgabe aus dem Journal aufbereiten. Letzter awk-Befehl mit #-Trennzeichen aufbereitet, da sonst die einzelnen Spalten untereinander ausgegeben werden for TS in $(journalctl --since="$SINCE" --until="$UNTIL" --output=short-iso --no-pager | egrep '(Kernel command line|Shutting down)' | cut -d" " -f1,4,5 | awk -F"T" '{print $1,$2}' | sed -e 's/+[0-9]\{4\}//' -e 's/\.//' | awk '{printf("%s#%s#%s%s\n",$1,$2,$3,$4)}') do # Wenn der erste Eintrag ein Shuttingdown ist, gehe zum nächsten Eintrag SKIP=`expr match "$TS" '.*Shuttingdown'` if [ $INDEX -eq 0 -a $SKIP -ne 0 ] then continue fi # einzelne Felder erzeugen und dem Array hinzufuegen DATE=$(echo $TS | cut -d"#" -f1) TIME=$(echo $TS | cut -d"#" -f2) TMP=$(echo $TS | awk -F"#" '{print $1,$2}') TIME_IN_SEC=$(date --utc --date "$TMP" +%s) TRIGGER=$(echo $TS | cut -d"#" -f3) ARRAY_TIMESTAMP[$INDEX]=$INDEX"#"$DATE"#"$TIME"#"$TIME_IN_SEC"#"$TRIGGER INDEX=$(( $INDEX + 1 )) done}[...]
for ROW in ${ARRAY_TIMESTAMP[@]} do echo $ROWdone0#2014-11-02#17:49:00#1414950540#Kernelcommand#01#2014-11-02#17:53:31#1414950811#Shuttingdown#2712#2014-11-02#17:53:54#1414950834#Kernelcommand#03#2014-11-02#21:54:52#1414965292#Shuttingdown#14458
awk '{printf("%s#%s#%s%s\n",$1,$2,$3,$4)}'