while 루프가 52번 반복될 때마다 변수를 감소시키는 방법은 무엇입니까?

while 루프가 52번 반복될 때마다 변수를 감소시키는 방법은 무엇입니까?
#!/bin/bash
h=0
l=0
while read user_input;
do
    [ "$user_input" -eq 1 ] && ((h++))
    [ "$user_input" -eq 2 ] && ((l--))

    echo "         $(($((h+l))/6))"
done

6으로 나누어야 하는 부분은 52개의 사용자 입력을 읽으면 5로 줄어들고, 52개의 사용자 입력을 읽으면 4로 줄어듭니다. 어떻게?

답변1

#!/bin/bash
h=0
l=0
reads=0
divider=6
while read user_input;
do
    ((reads++))
    [ "$user_input" -eq 1 ] && ((h++))
    [ "$user_input" -eq 2 ] && ((l--))
    if [ "$((reads%52))" -eq 0 -a "$divider" -gt 1 ]; then
        ((divider--))
    fi
    echo "         $(($((h+l))/divider))"
done

관련 정보