내가 보고 싶은 것은 30초마다 발행한 후의 %이지만 df /
이전 숫자 바로 뒤에 같은 줄에 있습니다.
따라서 최종 출력은 다음과 같습니다.86% 86% 86% 87% 87% ......
한 줄 코드일까요? 아니면 여러 줄의 '프로그램'인가요?
답변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 숫자 뒤의 줄바꿈은 출력 내에서 콘솔 줄바꿈을 방지합니다.