#!/bin/bash # subtimes t1 t2 # -> "t1-t2" for i in {1..2} do inp=$(echo "${@:i:1}" | sed "s/^ *//" | sed "s/ *#.*$//") p1=$(echo "$inp" | tr ":" " " | awk '{print $1}') p2=$(echo "$inp" | tr ":" " " | awk '{print $2}') p3=$(echo "$inp" | tr ":" " " | awk '{print $3}') for j in {1..2} do if [ "$p3" == "" ] then p3=$p2 p2=$p1 p1="0" fi done p4=$(echo $p3 | tr "." " " | awk '{print $2}') while [ ${#p4} -lt 6 ] do p4=${p4}"0" done f[$i]=$(echo $p4 | sed "s/^0*//" | sed "s/^$/0/") s[$i]=$(echo $p3 | tr "." " " | awk '{print $1}' | sed "s/^0*//" | sed "s/^$/0/") m[$i]=$(echo $p2 | sed "s/^0*//" | sed "s/^$/0/") h[$i]=$(echo $p1 | sed "s/^0*//" | sed "s/^$/0/") done fd=$[${f[1]}+${f[2]}] ut=0 while [ $fd -ge 1000000 ] do ut=$[$ut+1] fd=$[$fd-1000000] done while [ ${#fd} -lt 6 ] do fd="0"$fd done sd=$[${s[1]}+${s[2]}+$ut] ut=0 while [ $sd -ge 60 ] do ut=$[$ut+1] sd=$[$sd-60] done md=$[${m[1]}+${m[2]}+$ut] ut=0 while [ $md -ge 60 ] do ut=$[$ut+1] md=$[$md-60] done hd=$[${h[1]}+${h[2]}+$ut] echo $hd":"$md":"$sd"."$fd