Como você marcou sua pergunta com Ubuntu
, abaixo é suficiente.
$ uptime -p
up 4 weeks, 1 day, 1 hour, 1 minute
veja tempo de atividade do homem para o Ubuntu.
-p, --pretty
show uptime in pretty format
Ou com seu próprio script:
awk -F'( |,|:)+' '{
printf("%dweeks, %.fdays, %dhours, %dminutes\n",
$5/7, ($5/7-int($5/7))/0.143+.05, $7, $8)
}' <(uptime)
A cada dia ~ = 0,143 semana, e dividimos o resultado em 0.143
para obter dias, em seguida adicionamos 0.5
e com printf
.f
controle ele arredondará para o próximo número inteiro (faz como Ceil função).
Pode ser necessário alterar $5
, $7
e $8
com $6
, $8
e $9
.