Ich möchte lediglich den %-Wert sehen, den ich df /
alle 30 Sekunden ausgebe, aber in der gleichen Zeile direkt nach der vorherigen Zahl.
Das Endergebnis wäre also86% 86% 86% 87% 87% ......
Könnte es einzeiliger Code sein? Oder ein mehrzeiliges „Programm“?
Antwort1
ich würde bevorzugen
watch -n 30 df
beobachten - führt ein Programm regelmäßig aus und zeigt die Ausgabe im Vollbildmodus an
Antwort2
while printf '%s ' "$(df -P / | awk 'NR==2 { print $(NF-1) }')"; do
sleep 30
done
echo
Antwort3
Sie können verwenden watch
:
watch -n 30 -t df /
Das überschreibt aber die vorhandene Ausgabe
Antwort4
Für Bash:
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
Der Zeilenumbruch nach $outputs_per_line-Nummern soll einen Konsolenzeilenumbruch innerhalb der Ausgabe verhindern.