¿Cómo mostrar el resultado de df cada 30 segundos?

¿Cómo mostrar el resultado de df cada 30 segundos?

Todo lo que quiero ver es el % después de emitir df /cada 30 segundos, pero en la misma línea justo después del número anterior.

Entonces el resultado final sería86% 86% 86% 87% 87% ......

¿Podría ser un código de una línea? ¿O un 'programa' de varias líneas?

Respuesta1

preferiría

watch -n 30 df

reloj hombre:

watch: ejecuta un programa periódicamente, mostrando la salida en pantalla completa

Respuesta2

while printf '%s ' "$(df -P / | awk 'NR==2 { print $(NF-1) }')"; do
    sleep 30
done
echo

Respuesta3

puedes usar watch:

watch -n 30 -t df /

Pero eso sobrescribe la salida existente.

Respuesta4

Para fiesta:

i=1
outputs_per_line=10
frequency=30
while true; do
  echo -n "$(df / | awk 'NR==2 {print $5}') "
  if [ $((i%outputs_per_line)) -eq 0 ]; then
    echo
  fi
  ((i++))
  sleep "$frequency"
done

El salto de línea después de los números $outputs_per_line evitará un salto de línea de la consola dentro de la salida.

información relacionada