Hallo,
Ich möchte im Skript mehrere Zeitangaben addieren. Ich dachte mir die Zeiten in Sekunden umrechnen, addieren und dann mit printf das Ergebnis ausgeben. Folgendes habe ich in eine Schleife gepackt (Variable mov_time ist jeweils die ermittelte Zeit im Format hh:mm:ss):
1 2 3 4 | mov_hours="$(($(echo $mov_time | sed 's/\(^[[:digit:]]*\):.*/\1/') * 3600))" mov_min="$(($(echo $mov_time | sed 's/^[[:digit:]]*:\([[:digit:]]*\):.*/\1/') * 60))" mov_sec="$(echo $mov_time | sed 's/^[[:digit:]]*:[[:digit:]]*:\([[:digit:]]*\)/\1/')" mov_sum=$((${mov_sum} + ${mov_sec} + ${mov_hours} + ${mov_min})) |
Anschliessend gebe ich die Gesamtzeit aus mit:
1 | printf 'Gesamtzeit: %02dh:%02dm:%02ds\n' $((${mov_sum}/3600)) $((${mov_sum}%3600/60)) $((${mov_sum}%60)) |
Das funktioniert auch super, allerdings frage ich mich, ob man das nicht vereinfachen kann. Gibt es z.B. ein Tool um einfach Zeiten zu addieren?