Поскольку вы отметили свой вопрос тегом Ubuntu
, ниже достаточно.
$ uptime -p
up 4 weeks, 1 day, 1 hour, 1 minute
см. man uptime для Ubuntu.
-p, --pretty
show uptime in pretty format
Или со своим скриптом:
awk -F'( |,|:)+' '{
printf("%dweeks, %.fdays, %dhours, %dminutes\n",
$5/7, ($5/7-int($5/7))/0.143+.05, $7, $8)
}' <(uptime)
Каждый день ~= 0,143 недели, и мы разделили результат на 0.143
, чтобы получить дни, затем прибавили 0.5
и с помощью printf
's .f
управление округлим до следующего целого числа (. ] работает как функция Ceil ).
Возможно, вам потребуется заменить $5
, $7
и $8
на $6
, $8
и $9
.