Ich gebe mir selbst eine Antwort, da ich das Scriptproblem gelöst habe. Evtl. ist das für euch interessant wo die Probleme lagen.
Die Problematik lag bei der internen Bash-Variable IFS (internal field separator). IFS erkennt Felder- oder Wortgrenzen in der Bash.
So sieht die Funktion jetzt aus.
[...]
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
}
[...]
Das Array wird dann so ausgegeben wie ich es haben will. Spaltentrenner ist der "#" mit den Feldern Index, Datum, Uhrzeit, Zeit in Sekunden seit dem 1.1.1970, Trigger für Hochfahren bzw. Herunterfahren und die Differenz-Zeiten zwischen Hoch- und Runterfahren des PC.
for ROW in ${ARRAY_TIMESTAMP[@]}
do
echo $ROW
done
0#2014-11-02#17:49:00#1414950540#Kernelcommand#0
1#2014-11-02#17:53:31#1414950811#Shuttingdown#271
2#2014-11-02#17:53:54#1414950834#Kernelcommand#0
3#2014-11-02#21:54:52#1414965292#Shuttingdown#14458
Der Knackpunkt liegt in der FOR-Schleife beim awk-Kommando, der mit den Feldtrenner "#" versehen werden muss ansonsten erfolgt ein falscher Zeilenumbruch und das Array wird nicht richtig aufgebaut (Spaltertrenner ist diesem Fall das Leerzeichen).
awk '{printf("%s#%s#%s%s\n",$1,$2,$3,$4)}'