В дополнение к ответу @ JRFerguson .
Чтобы получить справочный файл, время изменения которого составляет 30 минут в прошлом, вы можете сделать переносимым (точность в одну секунду):
TZ=ZZZ0 touch -t "$(TZ=ZZZ0:30 date +%Y%m%d%H%M.%S)" /some/ref/file
А затем:
find . -newer /some/ref/file
Это работает только для интервалов в 50 часов:
TZ=ZZZ-24:59:59 touch -t "$(TZ=ZZZ24:59:59 date +%Y%m%d%H%M.%S)" file
является самым старым файлом, который вы можете получить переносимым способом (POSIXly) этим методом.
После прочтения исходного кода fetchmail (sink.c, около строки 1183), я не смог найти способа кодировать '%'.
Так что единственный выход - это избежать "%s", и это легко сделать, используя синтаксис одиночной кавычки bash:
mda "/bin/sh -c 'cat > INBOX/new/$(date +%''s_%N)'"