今回の内容
Bashでのuptimeコマンドを「◯時間〇〇分」という見やすい形に出力できないかな?と思い、とりあえずざっくりやってみたメモです。
ソースコード
例として起動してから2時間40分とします。
uptime | awk-F, '{print $1}'| awk'{print $3}'|awk -F: '{print "Uptime:" $1 "時間" $2 "分"}'
実行結果
> Uptime:2時間40分
簡単な解説
コマンドを頭から順に実行したときの結果を以下に示します。(出力結果を>行に書きます)
$ uptime> 10:27:52 up 2:40, 2 users, load average: 0.44, 0.63, 0.98
$ uptime | awk-F, '{print $1}'> 10:27:52 up 2:40
$ uptime | awk-F, '{print $1}'| awk'{print $3}'> 2:40
$ uptime | awk-F, '{print $1}'| awk'{print $3}'|awk -F: '{print $1 "," $2 }'> 2,40
$ uptime | awk-F, '{print $1}'| awk'{print $3}'|awk -F: '{print "Uptime:" $1 "時間" $2 "分"}'> Uptime:2時間40分
uptimeコマンドで出力される文字列のうち、起動してからの時間をawkで取得していきます。時間と分を取得して、あとは◯時間〇〇分という形で出力する形にします。
参考にさせていただいたもの
▼uptimeとawkを組み合わせるという発想をいただきました。
Uptime in minute Using bc, sed(commandlinefu.com)