RUNDIR_PREFIX="$TEMPLATE_DIRNAME$RUN_DIR_PREFIX" STOPWATCH_FILE_RELPATH="output/stopwatch.txt" SUMMARY_FILE="time_summary.txt" CURRENT_DIR="$(pwd)" TIMESUM="" function phase_calc(){ TIMESUM="$(date --utc --date "today 00:00:00")" TIMESUM_OFFSET="$(date --date "$TIMESUM -1 second" "+%s")" while read line; do if [ $(echo "$line" | grep -ce "^[0-9]\+") -eq 1 ]; then ADDTIME="$(echo "$line" | awk -F '\t' '{print $'"$phase_col"'}' |\ sed -e "s/^\([0-9]\{2\}\):\([0-9]\{2\}\):\([0-9]\{2\}\)/\1 hours \2 minutes \3 seconds/")" TIMESUM="$(date --date "$TIMESUM $ADDTIME")" fi done < "$STOPWATCH_FILE" TIMESUM="$(date --utc --date "$TIMESUM -$TIMESUM_OFFSET seconds" "+%H:%M:%S")" } echo -e "Benchmark\ttotal\treplan\tmobsim\tdump\targuments" > "$SUMMARY_FILE" for benchdir in $RUNDIR_PREFIX* ; do STOPWATCH_FILE="$benchdir/$STOPWATCH_FILE_RELPATH" linenr=0 echo -en "$benchdir\t" >> "$SUMMARY_FILE" for phase in "iteration" "replanning" "mobsim" "dump" ; do case "$phase" in replanning) phase_col=11 ;; dump) phase_col=12 ;; mobsim) phase_col=13 ;; iteration) phase_col=14 ;; esac phase_calc echo -en "$TIMESUM\t" >> "$SUMMARY_FILE" done tail -1 "$benchdir/my_args" >> "$SUMMARY_FILE" done