2016-07-18 9 views
0

開始前と終了後の時間差をミリ秒単位で計算しようとしています。私はBCがシェルスクリプトのために推奨されます日付+%S000bcなしのミリ秒単位の時間

+0

を'math'演算子の内部で' var = $((9.7 * 10.1));を計算します。 echo $ var'は '97.97'を返します。 。 'bc'を使って異論があることを示すためにあなたのQを拡張したいかもしれません。がんばろう。 – shellter

+1

システムの 'time'コマンドで時間をかけたいスクリプトの部分をラップし、* real *、* user *、* sys *時間のいずれかを選ぶか、GNU/timeと(* real * '%e'、* user *'%U'、またはsys'%S')​​を指定します。 –

答えて

0

で試してみましたBC

を使用せずに簡単な方法があります。制約があり、Pythonがインストールされている場合は、スクリプト内で動作する可能性があります。

s="start time in epoch sec" 
.... your code 
e="end time in epoch sec" 
python -c 'import sys; dt=(float(sys.argv[1])-float(sys.argv[2]))/1000.; print dt' $s $e 
0

スクリプトについて確信している場合は、この使用し、1秒間に実行されます:あなたは `ksh`(93+)または` zsh`、彼らの両方のサポート浮動小数点を使用することができるかどう

TIME1=$(date +"%-3N") 
sleep 0.5 
TIME2=$(date +"%-3N") 
SYSDELAY=$(($TIME2 - $TIME1)) 
if [ "${SYSDELAY:0:1}" = "-" ];then 
    SYSDELAY=$((1000 + $SYSDELAY)) 
fi 
関連する問題