Регулярные выражения · 9 min read · Dec 30, 2025
6.0 Сопоставление и регулярные выражения (регулярные выражения)
Автор: Яри Аалто.
1.0 Идентификатор документа
- 1.1 Общая информация
- 1.2 Что такое Procmail?
- 1.3 Сокращения и благодарности
- 1.4 Информация о версии
- 1.5 Структура документа и его поддержка
- 1.6 О представленных рецептах
- 1.7 Переменные, используемые в рецептах
- 1.8 О “бесполезном использовании cat award” 2.0 Указатели Procmail
- 2.1 Где разрабатывается procmail
- 2.2 Ресурсы Procmail
- 2.3 Режим Procmail для Emacs
- 2.4 Проект библиотеки модулей Procmail
- 2.5 Код Procmail для фильтрации UBE 3.0 Тестирование без выполнения
- 3.1 Что такое тестирование без выполнения?
- 3.2 Почему поле From не в порядке после тестирования без выполнения?
- 3.3 Получение значения по умолчанию переменной procmail 4.0 Вещи, которые нужно помнить
- 4.1 Получите последнюю версию procmail
- 4.2 Тильда Csh не поддерживается
- 4.3 Убедитесь, что рецепт начинается правильно
- 4.4 Всегда устанавливайте SHELL
- 4.5 Проверьте и установите PATH
- 4.6 Держите журнал всегда включенным
- 4.7 Никогда не добавляйте завершающий слэш для каталогов
- 4.8 Помните, что термин DELIVERED означает
- 4.9 Будьте осторожны, ставя комментарии в неправильные места
- 4.10 Расположение фигурных скобок
- 4.11 Использование локального блокировочного файла
- 4.12 Глобальный блокировочный файл
- 4.13 Ой, куда мне положить все эти ! * $ ??
- 4.14 Если вы отправляете автоматический ответ, используйте заголовок X-loop
- 4.15 Избегайте дополнительного уровня оболочки и проверьте команду на SHELLMETAS
- 4.16 Подумайте, какие команды оболочки вы используете
- 4.17 Использование абсолютных путей при вызове программы оболочки
- 4.18 Временное отключение рецепта
- 4.19 Храните резервную копию сообщения, что бы ни случилось
- 4.20 Порядок рецептов procmail 5.0 Флаги Procmail
- 5.1 Порядок флагов
- 5.2 Флаги HB в начале рецепта (предупреждение)
- 5.3 Флаг w и рецепт с |
- 5.4 Флаг w, блокировочный файл и рецепт с |
- 5.5 Флаг f и w вместе
- 5.6 Флаги h и b
- 5.7 Флаг h и отправка в /dev/null
- 5.8 Флаг i и флаг трубы f
- 5.9 Флаг r
- 5.10 Фон флага c
- 5.11 Флаг c перед вложенным блоком создает дочерний процесс
- 5.12 Флаг c и понимание возможного штрафа за форк
- 5.13 Флаги перед вложенным блоком
- 5.14 Учебник по флагам aAeE 6.0 Сопоставление и регулярные выражения (регулярные выражения)
- 6.1 Философия абстракции в регулярных выражениях
- 6.2 Сопоставления не чувствительны к регистру
- 6.3 Procmail использует многострочные сопоставления
- 6.4 Заголовки разворачиваются перед сопоставлением
- 6.5 Улучшение синдрома пробел-табуляция
- 6.6 Обработка символа восклицания
- 6.7 Правила для генерации класса символов
- 6.8 Сопоставление пробела в конце условия
- 6.9 Будьте осторожны с ведущим обратным слэшем
- 6.10 Правильное использование макроса TO
- 6.11 Движок регулярных выражений Procmail
- 6.12 Различия между Procmail и egrep
- 6.13 Понимание минимального сопоставления procmail (скупой против жадного)
- 6.14 Объяснение \/ и ()\/
- 6.15 Объяснение ^^ и ^
- 6.16 ANDing традиционно
- 6.17 ORing традиционно
- 6.18 ORing и рецепт со счетом
- 6.19 ORing с использованием правил Де Моргана 7.0 Переменные
- 7.1 Установка и снятие переменных
- 7.2 Инициализация переменных и синтаксис sh
- 7.3 Тестирование переменных
- 7.4 Что означает $\VAR?
- 7.5 Общие ловушки при использовании переменных
- 7.6 Кавычки: Использование одинарных или двойных кавычек
- 7.7 Кавычки: Передача значений внешней программе
- 7.8 Передача значений из внешней программы
- 7.9 Увеличение переменной на значение N
- 7.10 Сравнение значений
- 7.11 Строки: Сколько символов в данной строке?
- 7.12 Строки: Как удалить завершающий перевод строки.
- 7.13 Строки: получение последних N символов строки.
- 7.14 Строки: Получение частичных совпадений из строки.
- 7.15 Строки: Пример манипуляции строками Procmail
- 7.16 Как поднять флаг, если сообщение было отфильтровано
- 7.17 Знак доллара в строках условий.
- 7.18 Поиск загадочной переменной foo
- 7.19 Хранение кода в переменной
- 7.20 Получение заголовков в переменную.
- 7.21 Преобразование значения в нижний регистр 8.0 Предложения и прочее
- 8.1 Ускорение procmail
- 8.2 Посмотрите примеры установки procmail
- 8.3 Печать статистики вашей входящей почты
- 8.4 Хранение почтовых ящиков UBE вне квоты
- 8.5 Использование первых 5-30 строк из сообщения
- 8.6 Использование cat или echo в скриптах?
- 8.7 Как запустить дополнительную команду оболочки как побочный эффект?
- 8.8 Принуждение к статусу возврата “ok” из оболочки
- 8.9 Сделайте свой собственный .procmailrc доступным для других
- 8.10 Эффективное использование дат
- 8.11 Держите простой журнал заголовков
- 8.12 Сжатие сообщений
- 8.13 Аварийная остановка для вашего .procmailrc 9.0 Оценка
- 9.1 Использование оценок по примеру
- 9.2 Краткий учебник по оценкам
- 9.3 Область применения оценки
- 9.4 Подсчет длины строки
- 9.5 Подсчет строк в сообщении (Добавление строк: заголовок)
- 9.6 Определение, длиннее ли тело, чем заголовок
- 9.7 Сопоставление последнего заголовка Received
- 9.8 Тестирование диапазона значений с оценкой (bogofilter)
- 9.9 Как добавить заголовок Content-Length
- 9.10 Тестирование размера сообщения или количества строк
- 9.11 Подсчет запятых с помощью рекурсивного includerc 10.0 Использование Formail
- 10.1 Получение полей с помощью formail -x
- 10.2 Всегда используйте -rt переключатель formail
- 10.3 Использование -rt и переписывание адреса From
- 10.4 Formail -rt и заголовок Resent-From
- 10.5 Кавычки сообщения
- 10.6 Без кавычек сообщения
- 10.7 Как включить заголовки и тело в ответное сообщение
- 10.8 Добавление текста в начало сообщения
- 10.9 Добавление текста в конец сообщения
- 10.10 Добавление текста перед цитируемым сообщением
- 10.11 Добавление дополнительных заголовков из файла
- 10.12 Разделение дайджеста
- 10.13 Почтовый ящик: Разделение на отдельные файлы
- 10.14 Почтовый ящик: Извлечение всех адресов From из почтового ящика
- 10.15 Почтовый ящик: Применение рецепта procmail ко всему почтовому ящику
- 10.16 Почтовый ящик: выполнение серии команд для каждой почты (разделение почтового ящика)
- 10.17 Опция -D и кэш
- 10.18 Опция -D и message-id в теле
- 10.19 Снижение вызовов formail (условное добавление полей)
- 10.20 Опции Formail -A -a
- 10.21 Опции Formail -e -s 11.0 Сохранение сообщений рассылки
- 11.1 Использование подпрограммы pm-jalist.rc для обнаружения рассылок
- 11.2 Использование адреса с плюсом [email protected]
- 11.3 Использование трюка с комментариями RFC для дополнительной информации
- 11.4 Простое управление рассылками
- 11.5 Архивирование в соответствии с TO
- 11.6 Использование Return-Path для обнаружения рассылок 12.0 Procmail, MIME и HTML
- 12.1 Библиография Mime
- 12.2 Заметки Mime
- 12.3 Программное обеспечение для работы с mime или HTML
- 12.4 Тип содержимого mime application/ms-tnef
- 12.5 Ловля HTML mime сообщений
- 12.6 Жалобы на HTML сообщения
- 12.7 Преобразование HTML тела в простой текст
- 12.8 Избавление от нежелательных вложений mime (HTML, vcard)
- 12.9 Отправка содержимого HTML страницы в простом тексте кому-то 13.0 Примеры простых рецептов
- 13.1 Сохранение: MH папки – пронумерованные сообщения
- 13.2 Сохранение: в ежемесячные папки
- 13.3 Модификация: Основы фильтрации
- 13.4 Модификация: Сжатие пустых строк вокруг тела сообщения
- 13.5 Модификация: Перемешивание заголовков всегда в одном и том же порядке
- 13.6 Сервис: Автоответчик для пустых сообщений
- 13.7 Сервис: Ответчик на пинг
- 13.8 Сервис: простой отпуск с procmail
- 13.9 Сервис: пример кода отпуска
- 13.10 Сервис: Автопересылка
- 13.11 Сервис: пересылка только определенных сообщений
- 13.12 Сервис: Создание дайджестов
- 13.13 Убить: удаление рекламных заголовков и подвалов
- 13.14 Убить: простой рецепт kill файла с procmail
- 13.15 Убить: дублирующиеся сообщения
- 13.16 Убить: фильтр спама с простыми рецептами
- 13.17 Убить: (не)подписаться на сообщения
- 13.18 Время: Один раз в день, как cron
- 13.19 Время: Запуск рецепта в заданное время
- 13.20 Время: Триггер почты и использование cron
- 13.21 Декодирование: Uudecode
- 13.22 Декодирование: MIME
- 13.23 Как отправить команды в теле сообщения
- 13.24 Сопоставление двух слов в строке, но не одного
- 13.25 Как определить личные макросы XX?
- 13.26 Как изменить тему по совпадению в теле
- 13.27 Как изменить тему в соответствии с другим заголовком
- 13.28 Как вызвать программу с параметрами 14.0 Разное
- 14.1 Сопоставление действительного заголовка Message-Id
- 14.2 Отправка двух файлов в сообщении
- 14.3 Чрезмерные кавычки сообщения
- 14.4 Отправка сообщения на пейджер частями
- 14.5 Воспроизведение определенного звука, когда сообщение приходит
- 14.6 Объединение нескольких заголовков Original-Cc и Original-To
- 14.7 Пересылка конфиденциальных сообщений в зашифрованном формате 15.0 Procmail и PGP
- 15.1 Автоматическая расшифровка pgp сообщений
- 15.2 Получение ключей с сервера ключей
- 15.3 Авто захват входящих pgp ключей 16.0 Использование Includerc
- 16.1 Использование: несколько rc файлов
- 16.2 Использование: условный вызов rc файла
- 16.3 Использование: автоматическая загрузка rc файла
- 16.4 Создание: именование rc файла
- 16.5 Создание: Использование пространства имен при сохранении переменных procmail
- 16.6 Создание: Публичные и частные переменные в rc файле
- 16.7 Правила для построения общего rc файла
- 16.8 Шаблон includerc 17.0 Сервер рассылки 18.0 Общие проблемы
- 18.1 Режимы Procmail: нормальный, доставка и фильтр почты.
- 18.2 Procmail как устройство фильтрации почты sendmail Mlocal
- 18.3 Procmail не передает 8-битные символы
- 18.4 Мой провайдер не очень заинтересован в установке procmail
- 18.5 У моего провайдера есть системный procmailrc; это хорошая идея?
- 18.6 Procmail изменяет разрешения почтового ящика и каталога
- 18.7 Изменение разрешений mbox во время компиляции на 660
- 18.8 Файл .forward должен быть реальным файлом
- 18.9 Использование .forward, если procmail уже является LDA
- 18.10 Почта должна помещаться в очередь, если запись не удалась
- 18.11 Qmail: как заставить его работать с procmail
- 18.12 Qmail: Procmail ищет файл только в /var/spool/mail
- 18.13 Qmail: патч для procmail 3.11pre7 для работы с Maildirs
- 18.14 AFS: Как использовать Procmail, когда HOME находится в ячейке AFS
- 18.15 Помощь, какой-то идиот отправил мой адрес на 30 рассылок
- 18.16 Помощь, Procmail издает звуковой сигнал и печатает на моем консоли
- 18.17 Помощь, procmail сбрасывает почту на консоль
- 18.18 Помощь, поврежденная строка From_ в почтовом ящике
- 18.19 Направление почты пользователя в HOME вместо /var/spool/
- 18.20 NFS монтирование /var/mail - хороший способ получить плохую производительность
- 18.21 Я не вижу ответа sendmail в LOGFILE
- 18.22 Компиляция procmail и выбор схемы блокировки
- 18.23 Пересылка большого количества почты вызывает большую нагрузку
- 18.24 Что происходит с почтой, если MDA Procmail не удается
- 18.25 Procmail читает все 90Mb сообщение в память
- 18.26 Помощь, procmail иногда использует огромный объем памяти
- 18.27 Procmail сигнализировал о нехватке памяти в моем подробном журнале
- 18.28 Переменные DEFAULT и ORGMAIL
- 18.29 Когда DEFAULT не может быть отправлен
- 18.30 Переменная DROPPRIVS
- 18.31 Переменная HOME
- 18.32 Переменная HOST
- 18.33 Переменная LINEBUF
- 18.34 Переменная LOG и LOGFILE
- 18.35 Переменная TRAP
- 18.36 Переменная UMASK
- 18.37 UMASK и разрешения
- 18.38 Разница в производительности между обратными кавычками и “|” рецептом
- 18.39 Временные имена файлов Procmail при записи файла
- 18.40 Параметр $@
- 18.41 Переменные Procmail завершаются нулем (обнаружение нулевой строки)
- 18.42 FROMDAEMON TO и TO и чувствительность к регистру
- 18.43 Макрос TO_ расшифрован
- 18.44 Макрос TO_ и RFC 822
- 18.45 FROM_DAEMON расшифрован 19.0 Технические вопросы
- 19.1 Список кодов выхода
- 19.2 Список кодов приоритета
- 19.3 Sendmail и -t
- 19.4 RFC822 Reply-To и проблема formail с несколькими получателями
- 19.5 Procmail и IMAP сервер
- 19.6 Машина, которая обрабатывает почту
- 19.7 Компиляция procmail и MAILSPOOLHOME 20.0 Программное обеспечение Procmail для Emacs
- 20.1 Что такое Emacs
- 20.2 Режим procmail для Emacs и проверка кода Procmail (Lint)
- 20.3 Почему использовать procmail с Gnus
- 20.4 Настройка Gnus для procmail - Основы
- 20.5 Gnus для procmail - Подробнее об этом
- 20.6 Emacs и Gnus – Работа с файлами спула
- 20.7 Фрагменты статей Gnus 21.0 RFC, Запрос на комментарии
- 21.1 RFC и их юрисдикция (измененные адреса)
- 21.2 Комментарии об изменении адресов
- 21.3 RFC и допустимые символы адреса электронной почты
- 21.4 RFC и login-name@fdqn
- 21.5 RFC и подпись сообщений
- 21.6 RFC и использование MIME в новостных группах
- 21.7 Некоторые указания по RFC 22.0 Введение в заголовки электронной почты
- 22.1 Чтобы узнать больше о почте (Ресурсы)
- 22.2 Лекция Алана Стеббенса
- 22.3 Применение к полученным сообщениям
- 22.4 Заголовок Message-Id
- 22.5 Заголовок Received
Get new posts in your inbox
No spam. Unsubscribe anytime.