次のような/proc/uptime
形式で表示したい:
DD:HH:MM:SS
/proc/uptime
システムの時間を秒単位で示してください。秒をこの形式に変換する標準的な解決策はありますか?
次のような/proc/uptime
形式で表示したい:
DD:HH:MM:SS
/proc/uptime
システムの時間を秒単位で示してください。秒をこの形式に変換する標準的な解決策はありますか?
回答:
たとえば、perlといくつかの簡単な数学でこれを行うことができます:
cat /proc/uptime | perl -ne '/(\d*)/ ; printf "%02d:%02d:%02d:%02d\n",int($1/86400),int(($1%86400)/3600),int(($1%3600)/60),$1%60'
秒が必要ない場合は、単にuptime
コマンドを実行できます。その後、その出力を単純にDD:HH:MMに変換できます。
たとえば、(uptime> 1hの場合のみこのように機能します)
uptime | perl -ne '/(\d*) day[^\d]*(\d*):(\d*)/ ; printf "%02d:%02d:%02d\n", $1, $2, $3'
\n
改行が良いでしょう!