Отправляет email-рассылки с помощью сервиса Sendsay

Регулярные выражения.

Здравствуйте.

Я пользуюсь следующим правилом в .procmailrc для удаления рекламы из
писем:
| sed -e '/-\*------/,/----++-/d' >> "SubscribeRu"
Рекламные блоки сделаны в формате:
- * РЕКЛАМА
+ +
-
(Пробелов вокруг * и + на самом деле нет, но я их добавил, чтобы люди, у
которых этот фильтр уже работает, поняли мою мысль :-))
Все нормально работает, за исключением случаев, когда рекламы нет.
"Побег отменяется - забор убрали" (C) :-)

Пример:
- * ТЕКСТ ПИСЬМА

Т.к. отсутствует последняя строка (+ + -) - удаляется все
до конца письма.

Как можно обойти эту беду?
Один из вариантов - проверить перед вызовом sed-a, есть ли в письме
реклама, возможно это можно сделать с помощью grep-a.
Например, вот такой шаблон реагирует на рекламу, если бы она была в одну
строку:

grep -e '-\*--.*--\+\+-'
Если я верно понял .* - не включает в себя \n.

Можно ли составить регулярное выражение так, чтобы охватить несколько
строк, или они принципиально работают только с одной строкой?

Может быть, эту задау - проверить, есть ли у реклама в письме - можно решить
средствам sed-a или еще как-нибудь?

И еще вопрос. Вы из моего письма уже поняли, что я очень нечетко
представляю себе регулярные выражения и работу с ними. Подскажите,
пожалуйста, есть ли что-нибудь почитать на эту тему, кроме
man egrep
info sed

Ответить   Andrey Kostenko Fri, 17 Mar 2006 10:00:55 +0200 (#527994)

 

Ответы:

On Fri, 17 Mar 2006 11:00:55 +0300, Andrey Kostenko <kosandry***@u*****.net>
wrote:

http://files.nixp.ru/books/programming/regexp/

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 25460; Возраст листа: 966; Участников: 1472
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/528220

Ответить   Fri, 17 Mar 2006 22:25:50 +0300 (#528220)

 

1JAkUhKR9iaxCTEBdV4bVbLPdMBJnWUZ4qogZoUAse8pMADzRwIgU1msgXFRSR6RoE+CaMAeY2i0

hAI+ZZSlURK0raVgTB3TADqw1wDU9ipNxvF8BTb7Eyi7Rs9/53vrCfJbsTxjka1UW3rILrQy0DFL

VMP2xWqo5D3eSb5RDwHEiLiy5xOwWJrV+QfYVoqnB6fCB9d9H0YrKJLrk4KlladHI8BvuwNgMIdA

Y7pms9aoT+FApXT55AFtXh/Esnbs+Ul3Zlz+2nne+2g1BsOGpyDLlHIN1TdRsPe8pwP9KT510ps4

gmf7FCZ+lIfpJVtTuAVxU3j1kFHhvaD03Bc+4U8eaF6KH3PQj/xepOU80Pe2QQ4ac/Imfy8lnhL4

C/DBLHofSYTRZzssoIHM0TVlXOEvMS0nrKj7vvY3DfEt9AzbVQMKIQWp/AAq0fRZxHmACgAAAABJ

RU5ErkJggg==

Егор Евтюков пишет:

Спасибо.

P.s. А у кого этот замечательный сайт выдает шо этот файл доступен для скачки

только с территории РФ, ходить через проксю 82.179.73.94:8080 :)

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 25493; Возраст листа: 969; Участников: 1473
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/529116

Ответить   daks (#529116)