Итак, я экспериментировал с Bash не так давно, и я хочу манипулировать выводом команды uptime.Мне удалось изменить выходное значение с x минут до 0:05, например, если время работы составляет 5 минут, но все остальное исчезает.
Какой метод следует использовать для отображения времени,количество пользователей и их средняя загрузка без влияния на мой текущий вывод времени работы.
Это желаемый вывод: 21:08:13 до 0:10, 3 пользователя, средняя загрузка: 0,30, 0,30, 0,25
Буду признателен за любую помощь!
since="`uptime --since`"
start="`date --date "$since" '+%s'`"
now="`date '+%s'`"
sec=$((now-start))
days=$((sec/(60*60*24)))
sec=$((sec-days*(60*60*24)))
hr=$((sec/(60*60)))
sec=$((sec-hr*(60*60)))
min=$((sec/60))
sec=$((sec-min*60))
rest="$(uptime | perl -npe'{s/(.*,\s+)(\d+\s+user)/$2/}')"
printf "%d(days), %02d:%02d:%02d(hms), %s\n" $days $hr $min $sec "$rest"
ТЕКУЩИЙ ВЫХОД
0(days), 00:34:00(hms), 3 users, load average: 0.09, 0.14, 0.14