![30秒ごとにdf結果を表示する方法は? [繰り返し]](https://linux33.com/image/31402/30%E7%A7%92%E3%81%94%E3%81%A8%E3%81%ABdf%E7%B5%90%E6%9E%9C%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%AF%EF%BC%9F%20%5B%E7%B9%B0%E3%82%8A%E8%BF%94%E3%81%97%5D.png)
私が見たいのはdf /
30秒ごとにリリースされますが、前の数字の後に続く同じ行の割合です。
したがって、最終出力は86% 86% 86% 87% 87% ......
コードを1行にすることはできますか?それとも複数行の「プログラム」ですか?
答え1
答え2
while printf '%s ' "$(df -P / | awk 'NR==2 { print $(NF-1) }')"; do
sleep 30
done
echo
答え3
あなたはそれを使用することができますwatch
:
watch -n 30 -t df /
ただし、これにより既存の出力が上書きされます。
答え4
バッシュの場合:
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
$outputs_per_line 数字の後の改行文字は、コンソール改行が出力に表示されるのを防ぐ必要があります。