[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Elapsed time ?



On Sun, 12 Mar 2006, M. Lewis wrote:


I'm trying to get the elapsed time. The following gives me '1', however I would like it to give me 1.98333333. Where am I missing the boat?


#!/bin/sh

TIME1=`date +%s`
echo $TIME1
sleep 119
TIME2=`date +%s`
echo $TIME2


ELTIME=$[ ($TIME2 - $TIME1)/60 ]
echo $ELTIME

Do you need elapsed time _in_ your script or elapsed time _for_ your script/program? If the latter,

time myscriptname

will give you good numbers (see 'man time' for info on 'time' options) a lot easier.

If the former, look at the '%N' option to date (IOW: date '+%s.%N') (otherwise you have up to a full second error in the timing) and bc for floating point arithmetic.

#!/bin/sh

TIME1=`date '+%s.%N'`
echo $TIME1
sleep 2
TIME2=`date '+%s.%N'`
echo $TIME2
ELTIME=`echo "($TIME2 - $TIME1)/60" | bc -l`
echo $ELTIME

--
Benjamin Franz

If you can't handle reality, it *will* handle you.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]