<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Замена серийника в файлах зон</title>
    <link>https://ssl.opennet.dev/openforum/vsluhforumID1/88280.html</link>
    <description>Есть куча файлов с DNS-зонами. Необходимо во всех файлах поменять серийник.&lt;br&gt;Строки с ним выглядят как:&lt;br&gt;&lt;br&gt;2007111301 ; serial&lt;br&gt;&lt;br&gt;Разумеется, сам серийник во всех зонах разный. Поменять нужно на одинаковый для всех.&lt;br&gt;Каким образом это осуществить автоматически используя sed ? &lt;br&gt;Иными словами: как, используя sed, поменять 10 заранее неизвестных цифр на другие, заранее известные 10 цифр?&lt;br&gt;А еще проще: какое регулярное выражение нужно вписать в первую часть &quot;s/ /2010030101/&quot; ?&lt;br&gt;&lt;br&gt;Или sed - это не то средство для решения задачи?&lt;br&gt;</description>

<item>
    <title>Замена серийника в файлах зон (Vitalka)</title>
    <link>https://ssl.opennet.dev/openforum/vsluhforumID1/88280.html#5</link>
    <pubDate>Mon, 01 Mar 2010 10:22:58 GMT</pubDate>
    <description>&amp;gt;Гранд мерси. &lt;br&gt;&lt;br&gt;Я бы даже сказал короче:&lt;br&gt;&lt;br&gt;sed -i &quot;&#123; s/&#091;0-9&#093;&#092;&#123;10&#092;&#125;/2010030101/ &#125;;&quot; /etc/bind/*.db&lt;br&gt;&lt;br&gt;&amp;gt;Интересно, а почему не срабатывает &#092;d&#123;10&#125; ? &lt;br&gt;&lt;br&gt;Наверное потому что &#092;d не описано в стандарте POSIX, а является часть Perl-compatible regular expressions (PCRE). Зато в POSIX есть другая альтернатива:&lt;br&gt;&lt;br&gt;sed -i &quot;&#123; s/&#091;&#091;:digit:&#093;&#093;&#092;&#123;10&#092;&#125;/2010030101/ &#125;;&quot; /etc/bind/*.db&lt;br&gt;</description>
</item>

<item>
    <title>Замена серийника в файлах зон (Владимир)</title>
    <link>https://ssl.opennet.dev/openforum/vsluhforumID1/88280.html#4</link>
    <pubDate>Mon, 01 Mar 2010 10:07:28 GMT</pubDate>
    <description>&amp;gt;sed -i &quot;&#123; s/&#091;0123456789&#093;&#092;&#123;10&#092;&#125;/2010030101/ &#125;;&quot; /etc/bind/*.db &lt;br&gt;&lt;br&gt;Гранд мерси. &lt;br&gt;До такого я не додумался.&lt;br&gt;Интересно, а почему не срабатывает &#092;d&#123;10&#125; ?&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Замена серийника в файлах зон (Vitalka)</title>
    <link>https://ssl.opennet.dev/openforum/vsluhforumID1/88280.html#3</link>
    <pubDate>Mon, 01 Mar 2010 09:54:17 GMT</pubDate>
    <description>&amp;gt;Но если иных ответов не будет - будем идти предложенным путем. &lt;br&gt;&lt;br&gt;Я думаю что вам sed&apos;а хватит. В свое время решал задачу замены IP-шников в куче файлов зон такой командой:&lt;br&gt;&lt;br&gt;sed -i &quot;&#123; s/192&#092;.168&#092;.0&#092;.1/192&#092;.168&#092;.2&#092;.1/ &#125;;&quot; /etc/bind/*.db&lt;br&gt;&lt;br&gt;В вашем случае используйте что-то вроде:&lt;br&gt;&lt;br&gt;sed -i &quot;&#123; s/&#091;0123456789&#093;&#092;&#123;10&#092;&#125;/2010030101/ &#125;;&quot; /etc/bind/*.db&lt;br&gt;&lt;br&gt;Сами понимаете, что резервная копия перед применением команды не помешает :)&lt;br&gt;</description>
</item>

<item>
    <title>Замена серийника в файлах зон (Владимир)</title>
    <link>https://ssl.opennet.dev/openforum/vsluhforumID1/88280.html#2</link>
    <pubDate>Mon, 01 Mar 2010 09:00:30 GMT</pubDate>
    <description>&amp;gt;имхо, лучше распарсить конфиг, найти серийник и заменить. &lt;br&gt;&amp;gt;регуляркой рискутете потереть что-то лишнее &lt;br&gt;&lt;br&gt;Серийник - это единственное место в имеющихся файлах, где 10 подряд цифр.&lt;br&gt;Вероятно, при правильно составленном рег. выражении ничего более потереться недолжно.&lt;br&gt;&lt;br&gt;Но если иных ответов не будет - будем идти предложенным путем.&lt;br&gt;</description>
</item>

<item>
    <title>Замена серийника в файлах зон (Michael)</title>
    <link>https://ssl.opennet.dev/openforum/vsluhforumID1/88280.html#1</link>
    <pubDate>Mon, 01 Mar 2010 08:54:21 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Разумеется, сам серийник во всех зонах разный. Поменять нужно на одинаковый для &lt;br&gt;&amp;gt;всех. &lt;br&gt;&amp;gt;Каким образом это осуществить автоматически используя sed ? &lt;br&gt;&amp;gt;Иными словами: как, используя sed, поменять 10 заранее неизвестных цифр на другие, &lt;br&gt;&amp;gt;заранее известные 10 цифр? &lt;br&gt;&amp;gt;А еще проще: какое регулярное выражение нужно вписать в первую часть &quot;s/ &lt;br&gt;&amp;gt;/2010030101/&quot; ? &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Или sed - это не то средство для решения задачи? &lt;br&gt;&lt;br&gt;имхо, лучше распарсить конфиг, найти серийник и заменить.&lt;br&gt;регуляркой рискутете потереть что-то лишнее&lt;br&gt;</description>
</item>

</channel>
</rss>
