Shell-Script
如何從另一個 shell 腳本的輸出中將秒轉換為 hh:mm:ss 格式
每個人
這是我的腳本
/bin/wstalist | grep 'uptime'
這是返回值,
"uptime": 3456,
是的,有一個,
輸出。這些數字是秒。我想將其轉換為 hh:mm:ss 格式。並希望它簡單,因為它每分鐘都會由路由器(busybox)執行。
所以問題是我不知道怎麼做。
有人能幫我嗎?請。
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
#!/bin/bash # Here's the output from your command output='"uptime": 3456,' # Trim off the interesting bit seconds="$(echo "${output}" | awk '{ print $2 }' | sed -e 's/,.*//')" readonly SECONDS_PER_HOUR=3600 readonly SECONDS_PER_MINUTE=60 hours=$((${seconds} / ${SECONDS_PER_HOUR})) seconds=$((${seconds} % ${SECONDS_PER_HOUR})) minutes=$((${seconds} / ${SECONDS_PER_MINUTE})) seconds=$((${seconds} % ${SECONDS_PER_MINUTE})) printf "%02d:%02d:%02d\n" ${hours} ${minutes} ${seconds}