<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Регулярка для замены части строки в заголовке сообщения</title>
    <link>https://www.opennet.me/openforum/vsluhforumID1/96713.html</link>
    <description>Здравствуйте!&lt;br&gt;Необходимо заменить часть строки в заголовке сообщения postfix.&lt;br&gt;Не хватает знаний в регулярных выражениях, прошу помощи!&lt;br&gt;Надо заголовок:&lt;br&gt;&#091;code&#093;Received: from mysite.ru (snd1.mysite.ru &#091;95.ххх.224.235&#093;)&lt;br&gt;by snd1.mysite.ru (Postfix) with ESMTP id CCF64C02B4&lt;br&gt;for &amp;lt;putevka.xxxxxxx&#064;yandex.ru&amp;gt;; Sat, 22 Oct 2016 15:16:02 +0300 (MSK)&#091;/code&#093;&lt;br&gt;заменить на:&lt;br&gt;&#091;code&#093;Received: by mx.mysite.ru (Postfix, from userid 0)&lt;br&gt;id 9095FC0240; Sat, 22 Oct 2016 14:56:23 +0300 (MSK)&#091;/code&#093;&lt;br&gt;Причем, в заменяемом заголовке могут быть как domain.com, так и sub.domain.com&lt;br&gt;Также, некоторые почтовые провайдеры (гугл например) пишут строку без переносов, вот так:&lt;br&gt;&#091;code&#093;Received: from mysite.ru (snd1.mysite.ru &#091;95.ххх.224.235&#093;) by snd1.mysite.ru (Postfix) with ESMTP id CCF64C02B4 for &amp;lt;putevka.xxxxxxx&#064;yandex.ru&amp;gt;; Sat, 22 Oct 2016 15:16:02 +0300 (MSK)&#091;/code&#093;&lt;br&gt;В итоге, необходимо просто удалить из строки следующие слова:&lt;br&gt;from mysite.ru (snd1.mysite.ru &#091;95.ххх.224.235&#093;)&lt;br&gt;with ESMTP&lt;br&gt;for &amp;lt;putevka.xxxxxxx&#064;yandex.ru&amp;gt;&lt;br&gt;Пожалуйс</description>

<item>
    <title>Регулярка для замены части строки в заголовке сообщения (Bootmen)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID1/96713.html#25</link>
    <pubDate>Tue, 15 Nov 2016 12:39:27 GMT</pubDate>
    <description>Может так:&lt;br&gt;/^Received: from .*&#092;s+(by (.*)&#092;)) (.*)&#092;s(id &#092;w+).*&#092;s+(.*);(.*)/m  REPLACE Received: $3 $&#123;6&#125;;$&#123;9&#125;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Регулярка для замены части строки в заголовке сообщения (rafaello)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID1/96713.html#24</link>
    <pubDate>Thu, 03 Nov 2016 07:42:52 GMT</pubDate>
    <description>Тут по ходу дела возник один вопрос.&lt;br&gt;Буду благодарен за подсказку.&lt;br&gt;Правильно или нет, но я сам написал регулярку для замены заголовка письма в postfix, которую сам обозначил вначале этого топика и она работает. Вот она:&lt;br&gt;&#091;code&#093;/^Received: from (.*)&#092;)(&#092;r&amp;#124;&#092;r&#092;n)*&#092;s+(by (.*)&#092;)) (.*)&#092;s(id &#092;w+)(&#092;r&amp;#124;&#092;r&#092;n)*&#092;s+(.*);(.*)/  REPLACE Received: $3 $&#123;6&#125;;$&#123;9&#125;&#091;/code&#093;&lt;br&gt;В результате я получаю одну строку:&lt;br&gt;&#091;code&#093;Received: by mx.mysite.ru (Postfix, from userid 0) id 9095FC0240; Sat, 22 Oct 2016 14:56:23 +0300 (MSK)&#091;/code&#093;&lt;br&gt;вопрос.&lt;br&gt;как сделать, то есть что писать после слова REPLACE Received: чтобы получаемое выражение имело перенос строки:&lt;br&gt;&#091;code&#093;Received: by mx.mysite.ru (Postfix, from userid 0)&lt;br&gt;    id 9095FC0240; Sat, 22 Oct 2016 14:56:23 +0300 (MSK)&#091;/code&#093;&lt;br&gt;пытался вставлять между $3 $&#123;6&#125; &#092;n, &quot;&#092;n&quot;, но это не помогает, а просто печатает как есть.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Регулярка для замены части строки в заголовке сообщения (Pahanivo)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID1/96713.html#23</link>
    <pubDate>Tue, 25 Oct 2016 17:36:29 GMT</pubDate>
    <description>&lt;br&gt;&amp;gt; Понял! Спасибо за предоставленный урок.&lt;br&gt;&amp;gt; Проделывать все это я не буду, потому что мне это не надо, &lt;br&gt;&amp;gt; но смысл я понял.&lt;br&gt;&amp;gt; Что касается вопроса &quot;зачем в первом выражении скобки&quot;, то после прочтения учебника &lt;br&gt;&amp;gt; горизонты моих познаний в регулярных выражениях расширились и могу предположить, что &lt;br&gt;&amp;gt; скобки - это выражение или подвыражение, на которое потом можно ставить &lt;br&gt;&amp;gt; ссылку, как на переменную.&lt;br&gt;&lt;br&gt;Самое главное что умеете читать. А то судя по последним тенденциям многи это так и не могут осилить.&lt;br&gt;ПыСы: что-что, а что почитать тут всегда подскажут :)&lt;br&gt;</description>
</item>

<item>
    <title>Регулярка для замены части строки в заголовке сообщения (rafaello)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID1/96713.html#22</link>
    <pubDate>Tue, 25 Oct 2016 06:14:09 GMT</pubDate>
    <description>&lt;br&gt;&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; собственно то, зачем я начал продолжил топ, он умеет PCRE!). Жмем &lt;br&gt;&amp;gt; Ctrl+H и забиваем в первую строку &lt;br&gt;&amp;gt; &quot;(.*)&quot;, а во вторую &quot;host 95.&#092;1.224.235&quot; (домашнее задание объяснить зачем в первом &lt;br&gt;&amp;gt; выражении скобки).&lt;br&gt;&amp;gt; 4) Копипастим полученный текст в файл через консоль сервака скажем scr.sh, читаем &lt;br&gt;&amp;gt; заклинания chmod 700 scr.sh, scr.sh &amp;gt; res, grep snd1 res.&lt;br&gt;&amp;gt; 5) Вывод дал только одно совпадение - профит!&lt;br&gt;&amp;gt; На все про все - полторы минуты, дольше всего ждать пока скрипт &lt;br&gt;&amp;gt; из 255 запросов будет тупить по таймауту на несуществующих записях.&lt;br&gt;&amp;gt; Это не фокус - это просто.&lt;br&gt;&lt;br&gt;Понял! Спасибо за предоставленный урок.&lt;br&gt;Проделывать все это я не буду, потому что мне это не надо, но смысл я понял.&lt;br&gt;Что касается вопроса &quot;зачем в первом выражении скобки&quot;, то после прочтения учебника горизонты моих познаний в регулярных выражениях расширились и могу предположить, что скобки - это выражение или подвыражение, на которое потом можно ставить ссылку, как на переменную.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Регулярка для замены части строки в заголовке сообщения (DeerFriend)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID1/96713.html#21</link>
    <pubDate>Mon, 24 Oct 2016 19:59:54 GMT</pubDate>
    <description>&amp;gt;&amp;gt; Слишком сложно.&lt;br&gt;&amp;gt;&amp;gt; Вот однострок &lt;br&gt;&amp;gt;&amp;gt; for i in &#123;1..255&#125;; do host 95.$&#123;i&#125;.224.235; done &amp;#124; grep snd1 &lt;br&gt;&amp;gt; урок был несколько другого уровня :) &lt;br&gt;&lt;br&gt;Тогда почему в алгоритме отсутствуют установка виндузей, офиса, нотепадплюсплюса и пр.?&lt;br&gt;</description>
</item>

<item>
    <title>Регулярка для замены части строки в заголовке сообщения (Pahanivo)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID1/96713.html#20</link>
    <pubDate>Mon, 24 Oct 2016 17:18:34 GMT</pubDate>
    <description>&amp;gt; Слишком сложно.&lt;br&gt;&amp;gt; Вот однострок &lt;br&gt;&amp;gt; for i in &#123;1..255&#125;; do host 95.$&#123;i&#125;.224.235; done &amp;#124; grep snd1 &lt;br&gt;&lt;br&gt;урок был несколько другого уровня :)&lt;br&gt;</description>
</item>

<item>
    <title>Регулярка для замены части строки в заголовке сообщения (DeerFriend)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID1/96713.html#19</link>
    <pubDate>Sun, 23 Oct 2016 23:24:24 GMT</pubDate>
    <description>Слишком сложно.&lt;br&gt;Вот однострок&lt;br&gt;for i in &#123;1..255&#125;; do host 95.$&#123;i&#125;.224.235; done &amp;#124; grep snd1&lt;br&gt;</description>
</item>

<item>
    <title>Регулярка для замены части строки в заголовке сообщения (Pahanivo)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID1/96713.html#18</link>
    <pubDate>Sun, 23 Oct 2016 20:42:43 GMT</pubDate>
    <description>&amp;gt;&amp;gt; snd1.poleznyisovet.ru.  60      IN &lt;br&gt;&amp;gt;&amp;gt;   MX      10 snd1.poleznyisovet.ru.&lt;br&gt;&amp;gt;&amp;gt; poleznyisovet.ru.       60 &lt;br&gt;&amp;gt;&amp;gt;  IN      MX &lt;br&gt;&amp;gt;&amp;gt;   10 mx.poleznyisovet.ru.&lt;br&gt;&amp;gt;&amp;gt; не совсем понял с какого домена через какой мх ходит - проверить &lt;br&gt;&amp;gt;&amp;gt; на всякий ...&lt;br&gt;&amp;gt; Для меня остается тайной за семью печатями, откуда вы взяли домен poleznyisovet.ru, &lt;br&gt;&amp;gt; ведь я не публиковал его...&lt;br&gt;&lt;br&gt;Ок. Воскресенье, я пьяный и добрый ... меня всегда смешило когда люди говоря про реверсы DNS, скрывают один октет.&lt;br&gt;Следите за руками ...&lt;br&gt;1) IP почтовика был засвечен без одного октета 95.ххх.224.235, т.е. сервак один из 255 вариантов, и самое главное уникальная часть доменного имени snd1.mysite.ru. Далее все элементарно ... если вы не совсем ламер, должен быть такой же реверс, ибо таки почтовик.&lt;br&gt;2) Открываем ексель (проклятый микрософтовский софт), пишем в первой строке 1, во второй пишем =А1+1. Растягиваем до 255 строки и получаем последовательность ячеек со значениями 1-255.&lt;br&gt;3) Копируем столбец и вставляем в мой любимый notepad++ (и вот тут со</description>
</item>

<item>
    <title>Регулярка для замены части строки в заголовке сообщения (rafaello)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID1/96713.html#17</link>
    <pubDate>Sun, 23 Oct 2016 18:51:33 GMT</pubDate>
    <description>&amp;gt;&amp;gt;&amp;gt; Ну что ж &lt;br&gt;&amp;gt;&amp;gt; sed &apos;s/ from.*)//;s/with ESMTP //;s/ for .*;/;/&apos; &lt;br&gt;&amp;gt; жадная регулярка, все пожрет до последней скобки &lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Также, некоторые почтовые провайдеры (гугл например) пишут строку без переносов, вот так: &lt;br&gt;&amp;gt; sed &apos;s/ from.*&#093;)//;s/with ESMTP //;s/ for .*;/;/&apos; &lt;br&gt;&lt;br&gt;Спасибо за оказанную помощь!&lt;br&gt;Но мне надо было готовое решение в виде файла /etc/postfix/header_checks&lt;br&gt;а чтобы перевести ваш пример в удобоваримый файл для postfix надо понимать смысл происходящего.&lt;br&gt;Так что для меня сейчас самое лучшее - это учебник &quot;Форта Б. Регулярные выражения. 10 минут на урок &quot;&lt;br&gt;Но все равно, спасибо!&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

</channel>
</rss>
