1

awk と bc がインストールされていない限定 Linux エディションをインストールしました。

時間計算が実行されるスクリプトがあります。

ms_date()
{
  date '+%s.%N' | sed 's/N$//'
}

stime=$(ms_date)    
#some code
etime=$(ms_date)
duration=$(echo ${etime} - ${stime} | bc)

bc と awk がインストールされておらず、使用できない場合、浮動小数点数の計算に使用できるものを教えてください。

exprまたはsedを使用して実行できますか?

ありがとうございました。

4

2 に答える 2

0

表示する必要があるまで、小数を使用しないでください。

ms_date () { date +%s%N; }
display_time () { 
    if [[ $1 =~ ^([0-9]*)([0-9]{9})$ ]]; then
        printf "%s.%s\n" ${BASH_REMATCH[1]} ${BASH_REMATCH[2]}
    fi
}

start=$(ms_date)
sleep 1
end=$(ms_date)
duration=$( display_time $((end - start)) )
于 2013-09-20T15:33:07.763 に答える