Quiero mostrar el tiempo transcurrido desde el último inicio del sistema uptime, pero no quiero que muestre toda esa información. Solo quiero saber cuántas horas pasaron desde el último inicio del sistema (es decir: 18:17:59)
fuente
Quiero mostrar el tiempo transcurrido desde el último inicio del sistema uptime, pero no quiero que muestre toda esa información. Solo quiero saber cuántas horas pasaron desde el último inicio del sistema (es decir: 18:17:59)
Para obtener el tiempo transcurrido desde el último inicio del sistema en hh:mm:ssformato, puede usar:
awk '{print int($1/3600)":"int(($1%3600)/60)":"int($1%60)}' /proc/uptime
/proc/uptime El pseudo-archivo contiene dos números:
Entonces, usando awkpuedes tomar el primer número y convertirlo en hh:mm:ssformato.
Para obtener el tiempo de actividad en segundos:
awk '{print $1}' /proc/uptime
Para obtener el tiempo de actividad en minutos:
echo $(awk '{print $1}' /proc/uptime) / 60 | bc
Para obtener el tiempo de actividad en horas:
echo $(awk '{print $1}' /proc/uptime) / 3600 | bc
Para obtener x dígitos de precisión, puede agregar scale = x, por ejemplo, para x = 2
echo "scale=2; $(awk '{print $1}' /proc/uptime) / 3600" | bc
Prueba este:
uptime | awk '{ print $3 }'
De hecho, imprime la tercera palabra de la línea producida por uptime.
uptimeparece no tener opciones, pero tampoco pude encontrar nada en la red.Una modificación trivial para mostrar días:
fuente
Esto formateará su salida como 2 cero relleno:
fuente