Отвечая на мой собственный вопрос, основанный на этом вопросе, но немного измененный для 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