他のシェルスクリプトの出力秒をhh:mm:ss形式に変換する方法

他のシェルスクリプトの出力秒をhh:mm:ss形式に変換する方法

みんな

これは私のスクリプトです。

/bin/wstalist | grep 'uptime'

これは戻り値です。はい"uptime": 3456,、出力があります,

この数字は秒単位です。 hh:mm:ss形式に変換したいです。そして毎分毎にルーター(Busybox)によって実行されますので、簡単にしてください。

だから問題は、私が何をすべきかわからないということです。

誰でも私を助けることができますか?してください。

ベストアンサー1

line=$(/bin/wstalist | grep 'uptime')
sec=${line##* }
sec=${sec%%,}
h=$(( $sec / 3600 ))
m=$(( $(($sec - $h * 3600)) / 60 ))
s=$(($sec - $h * 3600 - $m * 60))
if [ $h -le 9 ];then h=0$h;fi
if [ $m -le 9 ];then m=0$m;fi
if [ $s -le 9 ];then s=0$s;fi
echo $h:$m:$s

おすすめ記事