シェルプログラムで処理時間計測やタイムスタンプ出力


シェルプログラム内の処理毎に時間計測をしたりタイムスタンプを出力する方法です。

test.sh

#!/bin/sh
echo `date '+%y/%m/%d %H:%M:%S'`
#処理時間を計測したい処理#ここでは仮にsleep 5 としています
sleep 5
echo `date '+%y/%m/%d %H:%M:%S'`

これを実行すると、

$ ./test.sh
13/06/09 09:43:35
13/06/09 09:43:40

このように簡単にタイムスタンプを出力することが可能です。
AからBの間の処理時間を計測したい場合は以下のようにすることができます。

test2.sh

#!/bin/sh

TIME_A=`date +%s`   #A

#処理時間を計測したい処理
#ここでは仮に sleep 5 としています
sleep 5

TIME_B=`date +%s`   #B
PT=`expr ${TIME_B} - ${TIME_A}`
H=`expr ${PT} / 3600`
PT=`expr ${PT} % 3600`
M=`expr ${PT} / 60`
S=`expr ${PT} % 60`
echo "${H}:${M}:${S}"

実行すると、

$ ./test2.sh
0:0:5

AとBの間の処理時間を時分秒の形式で出力します。

タグ: ,
カテゴリー: その他
シェルプログラムで処理時間計測やタイムスタンプ出力” への1件のコメント
  1. 師子乃 より:

    初めまして。

    シェルプログラミング、勉強させていただきます。

師子乃 にコメントする コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

カテゴリー