Закодируйте литеральный процент в mda опции fetchmail

В дополнение к ответу @ 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) этим методом.

1
09.04.2015, 08:28
1 ответ

После прочтения исходного кода fetchmail (sink.c, около строки 1183), я не смог найти способа кодировать '%'.

Так что единственный выход - это избежать "%s", и это легко сделать, используя синтаксис одиночной кавычки bash:

mda "/bin/sh -c 'cat > INBOX/new/$(date +%''s_%N)'"
1
27.01.2020, 23:50

Теги

Похожие вопросы