OSX에서 스로틀 파이프 명령?

OSX에서 스로틀 파이프 명령?

최대 X초마다 실행되도록 출력을 조절하고 싶습니다 grep. 구체적으로 다음과 같은 작업을 수행하고 싶습니다.

ping 8.8.8.8 | grep "No route to host" | throttle 3s | xargs -I % sh -c 'reset wifi'

답변1

내 자신의 질문에 대답이 질문, 그러나 OSX에서는 약간 변경되었습니다.

epoch () { date -v+$* "+%s" }

interval () {
    INTERVAL="$*"
    WHEN_TO_RUN=0
    while read LINE; do
        if (( $(epoch 0S) >= $WHEN_TO_RUN )) then
            echo $LINE
            WHEN_TO_RUN="$(epoch $INTERVAL)"
        fi
    done
}

허용하는... | interval 3S

관련 정보