bash - How to summarize running time -
i want summarize scripts execution time. try via tcl. input have :
00:00:00:09 00:00:34:05 00:00:50:34 .....
input format <days:hours:minutes:seconds>
how can summarize time , 1 output summarized output.
output format: <days:hours:minutes:seconds>
using file named "durations":
set days [set hours [set mins [set secs 0]]] set fh [open durations r] while {[gets $fh line] != -1} { scan $line %d:%d:%d:%d d h m s incr days $d incr hours $h incr mins $m incr secs $s } close $fh incr mins [expr {$secs / 60}]; set secs [expr {$secs % 60}] incr hours [expr {$mins / 60}]; set mins [expr {$mins % 60}] incr days [expr {$hours / 24}]; set hours [expr {$hours %24}] puts [format "%d:%02d:%02d:%02d" $days $hours $mins $secs]
0:01:24:48
and bash
while ifs=: read d h m s; (( days += 10#$d, hours += 10#$h, mins += 10#$m, secs += 10#$s )) done < durations (( mins += secs/60, secs %= 60 )) (( hours += mins/60, mins %= 60 )) (( days += hours/24, hours %= 24 )) printf "%d:%02d:%02d:%02d\n" $days $hours $mins $secs
0:01:24:48
the 10#
in bash while loop enforce base-10 interpretation of numbers leading 0 (avoid illegal octal errors 08, 09)
Comments
Post a Comment