<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: sed замена строки в файле(по подстроке)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID9/9099.html</link>
    <description>Здравствуйте. Необходимо с помощью sed и/или awk заменить все строки в файле содержащие подстроку, например есть файл:&lt;br&gt;hello=123&lt;br&gt;asdfsdfsdfsdf&lt;br&gt;sdfsdf&lt;br&gt;klk lksd isdfritj nm&lt;br&gt;hello=56&lt;br&gt;sdf&lt;br&gt;sdfklksdflksd&lt;br&gt;hello=678&lt;br&gt;sdnfhfgh dfrtllk&lt;br&gt;&lt;br&gt;Нужно заменить все строки имеющие подстроку &quot;hello=чтото там&quot; на строку hello=1000&lt;br&gt;Заранее благодарен.&lt;br&gt;</description>

<item>
    <title>sed замена строки в файле(по подстроке) (oklas)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID9/9099.html#14</link>
    <pubDate>Sat, 22 Oct 2016 06:44:11 GMT</pubDate>
    <description>&amp;gt; В одну строку без заморочек, привет Евгению Степанищеву &lt;br&gt;&amp;gt; sed -i &apos;s/^Hello=.*/Hello=1000/g&apos; filename &lt;br&gt;&lt;br&gt;Вы не дочитали форум, отвечаете только на исходное сообщение, на него ответ уже дан в самом начале. Ваш пример тривиальная замена, она не добавит в файл переменную &quot;hello&quot; если до этого она не была определена, и не позволяет делать другие (не sed) обработки файла за один и тот же проход чтения-записи.&lt;br&gt;</description>
</item>

<item>
    <title>sed замена строки в файле(по подстроке) (SnowPraha)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID9/9099.html#13</link>
    <pubDate>Fri, 21 Oct 2016 20:23:22 GMT</pubDate>
    <description>В одну строку без заморочек, привет Евгению Степанищеву&lt;br&gt;sed -i &apos;s/^Hello=.*/Hello=1000/g&apos; filename&lt;br&gt;</description>
</item>

<item>
    <title>sed замена строки в файле(по подстроке) (oklas)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID9/9099.html#12</link>
    <pubDate>Sat, 26 Oct 2013 19:57:27 GMT</pubDate>
    <description>Доброго дня всем.&lt;br&gt;&lt;br&gt;  Мне понадобилось решение подобной задачи, после некоторого поиска я не нашел решения которое бы устраивало меня полностью. В частности наиболее подходящее решение приведено здесь, но его недостаток двойной проход чтения файла, а нужно изменить или добавить разумеется за один проход. В частности потому что в этом же проходе выполняются другие операции с текстом. Я решил что надо получше разобраться с sed, но он оказался очень капризным, в части выполнения команд, когда они передаются прям в командной строке а не в файле, причем ошибок не пишется просто работает не как ожидается.&lt;br&gt;  Я воспользовался случаем задать вопрос Евгению Степанищеву. ( как Вы знаете автор игры Шахматы написанные на sed ) По его слова эта тривиальная задача решается так:&lt;br&gt;&lt;br&gt;s/^&#092;(hello=&#092;).*/&#092;11000/g&lt;br&gt;t&lt;br&gt;$ a&#092;&lt;br&gt;hello=1000&lt;br&gt;&lt;br&gt;и запуск:&lt;br&gt;&lt;br&gt;sed -f replace.sed входной_файл&lt;br&gt;&lt;br&gt;Спасибо Евгению за решение.&lt;br&gt;Надо сказать что я был абсолютно близок к решению, но не получил его, из-за капризностей правильнее сказать или тонкост</description>
</item>

<item>
    <title>sed замена строки в файле(по подстроке) (LSTemp)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID9/9099.html#11</link>
    <pubDate>Fri, 22 Apr 2011 10:53:03 GMT</pubDate>
    <description>&amp;gt;&amp;gt; и даже &lt;br&gt;&amp;gt;&amp;gt; cat $file &amp;#124; sed &apos;s/^hello=.*/hello=1000/g&apos; &amp;gt; $newfile &lt;br&gt;&amp;gt; Примерно тоже, как сделать ?&lt;br&gt;&amp;gt; если не найдено то &quot;hello=1000&quot; вставить в конец файла ?&lt;br&gt;&lt;br&gt;с=&#096;cat file&amp;#124;grep -c &apos;hello=1000&apos;&#096;&lt;br&gt;&#091; $c -eq 0 &#093; &amp;&amp; echo &apos;hello=1000&apos; &amp;gt;&amp;gt; $file&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>sed замена строки в файле(по подстроке) (LSTemp)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID9/9099.html#10</link>
    <pubDate>Fri, 22 Apr 2011 10:49:54 GMT</pubDate>
    <description>&amp;gt; и даже &lt;br&gt;&amp;gt; cat $file &amp;#124; sed &apos;s/^hello=.*/hello=1000/g&apos; &amp;gt; $newfile &lt;br&gt;&lt;br&gt;и даже поучить регулярные выражения. и man на команды почитать. мне вот интерестно нахрена в условиях поставленной тобой задачи еще /g использовать?&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>sed замена строки в файле(по подстроке) (sany)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID9/9099.html#9</link>
    <pubDate>Fri, 22 Apr 2011 09:54:47 GMT</pubDate>
    <description>то что ты спрашиваешь, называется &quot;регулярные выражения&quot;&lt;br&gt;каждый программист должен иметь хотя бы начальный уровень работы с ними.&lt;br&gt;</description>
</item>

<item>
    <title>sed замена строки в файле(по подстроке) (pilot.netgmail.com)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID9/9099.html#8</link>
    <pubDate>Fri, 22 Apr 2011 09:36:11 GMT</pubDate>
    <description>&amp;gt; и даже &lt;br&gt;&amp;gt; cat $file &amp;#124; sed &apos;s/^hello=.*/hello=1000/g&apos; &amp;gt; $newfile &lt;br&gt;&lt;br&gt;Примерно тоже, как сделать ?&lt;br&gt;если не найдено то &quot;hello=1000&quot; вставить в конец файла ?&lt;br&gt;</description>
</item>

<item>
    <title>sed замена строки в файле(по подстроке) (eugene)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID9/9099.html#7</link>
    <pubDate>Fri, 22 Apr 2011 08:34:03 GMT</pubDate>
    <description>Спасибо вам огромное!&lt;br&gt;</description>
</item>

<item>
    <title>sed замена строки в файле(по подстроке) (asser)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID9/9099.html#6</link>
    <pubDate>Fri, 22 Apr 2011 08:12:08 GMT</pubDate>
    <description>и даже&lt;br&gt;cat $file &amp;#124; sed &apos;s/^hello=.*/hello=1000/g&apos; &amp;gt; $newfile&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

</channel>
</rss>
