Я хочу показать время, прошедшее с момента последней загрузки системы, с помощью uptime, но я не хочу, чтобы он отображал всю эту информацию. Я просто хочу узнать, сколько часов прошло с момента последней загрузки системы (т. Е.: 18:17:59)
Чтобы ускорить работу в секундах:
awk '{print $1}' /proc/uptime
Чтобы получить время безотказной работы в минутах:
echo $(awk '{print $1}' /proc/uptime) / 60 | bc
Чтобы получить время безотказной работы в часах:
echo $(awk '{print $1}' /proc/uptime) / 3600 | bc
[d3 ] Чтобы получить x цифр точности, вы можете добавить scale = x, например для x = 2 echo "scale=2; $(awk '{print $1}' /proc/uptime) / 3600" | bc
Попробуйте следующее:
uptime | awk '{ print $3 }'
Фактически, он печатает третье слово строки, созданное uptime.
Тривиальная модификация для отображения дней:
awk '{print int($1/86400)"days "int($1%86400/3600)":"int(($1%3600)/60)":"int($1%60)}' /proc/uptime