<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: sed: Как заменить символ конца строки на запятую</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/81813.html</link>
    <description>Нужно вывод grep&lt;br&gt;echo $To&amp;#124;egrep -o &quot;&#091;&#091;:allnum:&#093;&#093;+&#064;domain.ru&quot;&lt;br&gt;&lt;br&gt;который дает результат&lt;br&gt;user1&#064;domain.ru&lt;br&gt;user2&#064;domain.ru&lt;br&gt;&lt;br&gt;преобразовать в одну строку:&lt;br&gt;user1&#064;domain.ru, user2&#064;domain.ru&lt;br&gt;&lt;br&gt;Пробовалось:&lt;br&gt;echo $To&amp;#124;egrep -o &quot;&#091;&#091;:allnum:&#093;&#093;+&#064;domain.ru&quot;&amp;#124; sed s/&#092;n/,/g&lt;br&gt;echo $To&amp;#124;egrep -o &quot;&#091;&#091;:allnum:&#093;&#093;+&#064;domain.ru&quot;&amp;#124; sed s/$/,/g&lt;br&gt;echo $To&amp;#124;egrep -o &quot;&#091;&#091;:allnum:&#093;&#093;+&#064;domain.ru&quot;&amp;#124; sed s/xOA/,/g&lt;br&gt;ну и т.д. без результата&lt;br&gt;&lt;br&gt;</description>

<item>
    <title>надо ли заменять tr... (Andrey Mitrofanov)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/81813.html#10</link>
    <pubDate>Thu, 04 Sep 2008 14:00:03 GMT</pubDate>
    <description>&amp;gt;Ну разве я где сказала, что буду использовать это только как заклинание? &lt;br&gt;&lt;br&gt;Нет, конечно. Это я, наверное, больше о себе и своём склерозе. :-/ Sorry.&lt;br&gt;&lt;br&gt;&amp;gt;Не знаю, как вам, а мне легче осваивать что-то новое, когда под рукой много примеров.&lt;br&gt;&lt;br&gt;Ж-)) Примеры (куууча!) для... sed ищутся в Гугле по (sed one-liners). Очень занимательно, но не очень &#037;) понятно.&lt;br&gt;&lt;br&gt;&amp;gt;А сделать надо было быстро. &lt;br&gt;&lt;br&gt;Быстрое решение можно делать на любом инструменте, обладающем приблизительно соотв.функциональностью (~обработка строк), достаточно мощным для поставленной задачи (~не имеющим непреодолимых ограничений для) и в достаточной степени изученном субъектом, ищущим решения. &#037;)&lt;br&gt;&lt;br&gt;Вот на bash-е, например -&lt;br&gt;&amp;#124;grep -o ...&amp;#124;( s=; while read a; do s=&quot;$&#123;s:+$s,&#125;$a&quot;; done; echo &quot;$s&quot; )&lt;br&gt;На awk-е -&lt;br&gt;&amp;#124;grep -o ...&amp;#124;awk &apos;&#123;s=( s!=&quot;&quot; ? s&quot;,&quot; : &quot;&quot; )$0&#125; END&#123; print s &#125;&apos;&lt;br&gt;&lt;br&gt;На этих двух я &quot;езжу без подсказки&quot;, но отладку-подгонку в ком.строке всё равно делал в несколько проходов.&lt;br&gt;&lt;br&gt;На sed-е -&lt;br&gt;&amp;#124;grep -o ...&amp;#124;sed -n &apos;/./&#123;s/^/</description>
</item>

<item>
    <title>Как заменить символ (angra)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/81813.html#9</link>
    <pubDate>Thu, 04 Sep 2008 13:10:10 GMT</pubDate>
    <description>ИМХО bash, sed, awk, grep и куча других утилит это конечно замечательно, но в большинстве случаев вместо всего этого букета лучше выучить Perl, а остальное знать только на базовом уровне. Например, если надо сделать отсев строк с вырезанием колонок и простой заменой текста, то лучше воспользоваться grep+cut+sed, но вот если надо вычленять данные из текста по сложному регексу да еще и по мультистрокам и потом производить обработку с использованием логики, то решение на перле будет в несколько раз короче и элегантней, не говоря уже про скорость. Кроме того сложность изучения перла на уровне сисадмина сопоставима со сложностью изучения bash/awk/sed+grep, так зачем учить три разных синтаксиса, очень зависящих от версии и платформы, если можно обойтись одним универсальным :)&lt;br&gt;</description>
</item>

<item>
    <title>Как заменить символ (Medlar)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/81813.html#8</link>
    <pubDate>Thu, 04 Sep 2008 11:49:51 GMT</pubDate>
    <description>&amp;gt;&amp;gt;Но вам тоже большое спасибо, ваши примеры обязательно сохраню - пригодятся ;) &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Не-а, не пригодятся... Нужно брать в руки примеры, man sed и учиться &lt;br&gt;&amp;gt;их разбирать-читать-понимать. Если они остаются &quot;магическим заклинанием&quot;, то не пригодятся и &lt;br&gt;&amp;gt;в следующий раз, когда надо будет, даже и в голову не &lt;br&gt;&amp;gt;придёт (вот прямо &#037;) как мне - с перлом). Впрочем, большое &lt;br&gt;&amp;gt;пожалуйста. &lt;br&gt;&lt;br&gt;Ну разве я где сказала, что буду использовать это только как заклинание?&lt;br&gt;Не знаю, как вам, а мне легче осваивать что-то новое, когда под рукой много примеров.&lt;br&gt;man sed,grep,etc применялся, но вы, наверное, тоже стакливались с тем, что в состоянии цейтнота бывает трудновато сразу найти правильное решение только с помощью man.&lt;br&gt;А сделать надо было быстро.&lt;br&gt;А пока мне синтаксис sendmail.cf кажется детским лепетом по сравнению с данными примерами sed&lt;br&gt;P.S. Сорри за offtopic.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Как заменить символ (Andrey Mitrofanov)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/81813.html#7</link>
    <pubDate>Thu, 04 Sep 2008 11:40:36 GMT</pubDate>
    <description>&amp;gt;Но вам тоже большое спасибо, ваши примеры обязательно сохраню - пригодятся ;) &lt;br&gt;&lt;br&gt;Не-а, не пригодятся... Нужно брать в руки примеры, man sed и учиться их разбирать-читать-понимать. Если они остаются &quot;магическим заклинанием&quot;, то не пригодятся и в следующий раз, когда надо будет, даже и в голову не придёт (вот прямо &#037;) как мне - с перлом). Впрочем, большое пожалуйста.&lt;br&gt;</description>
</item>

<item>
    <title>sed: Как заменить символ конца строки на запятую (Medlar)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/81813.html#6</link>
    <pubDate>Thu, 04 Sep 2008 11:08:52 GMT</pubDate>
    <description>&amp;gt;У &quot;того, что надо&quot; тоже лишние запятые могут образовываться - &lt;br&gt;&amp;gt;$ echo -e &quot;111&#092;n222&#092;n&#092;n&quot;&amp;#124;paste -s -d , &lt;br&gt;&amp;gt;111,222,, &lt;br&gt;&amp;gt;$ _ &lt;br&gt;&lt;br&gt;В моем случае не образуются:&lt;br&gt;исходная строка - это поле To: из почтового заголовка&lt;br&gt;Я выделяю из него только получателей своего домена с.п. egrep -o &lt;br&gt;эта команда дает построчный вывод, если моих получателей несколько&lt;br&gt;&lt;br&gt;Поскольку далее необходимо разослать уведомления с.п. procmail этим локальным получателям, поэтому&lt;br&gt;нужно построчный вывод преобразовать в одну строку  и к тому же разделить получателей запятыми и записать ее в To: , будет там еще пробел или нет - это несущественно&lt;br&gt;&lt;br&gt;При таком раскладе пустых строк просто не будет и paste вполне подойдет&lt;br&gt;Но вам тоже большое спасибо, ваши примеры обязательно сохраню - пригодятся ;)&lt;br&gt;&lt;br&gt;&amp;gt;Рекомендую &#037;)  &#096;&amp;#124;sed &apos;s/^,+//;s/,+$//;s/,,+/,/g&apos;&#096; &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;user1&#064;domain.ru, user2&#064;domain.ru&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Кстати, вам &quot;,&quot; или &quot;, &quot;? B-)) &lt;br&gt;&amp;gt;&amp;#124;sed &apos;s/ *, */,/g;s/^,+//;s/,+$//;s/,+/, /g&apos; </description>
</item>

<item>
    <title>sed: Как заменить символ конца строки на запятую (angra)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/81813.html#5</link>
    <pubDate>Thu, 04 Sep 2008 11:04:28 GMT</pubDate>
    <description>Ну тогда можно и такой вариант :)&lt;br&gt;echo -e &quot;111&#092;n222&#092;n&#092;n&quot; &amp;#124;perl -le &apos;print join(&quot;,&quot;,grep &#123;s/&#091;&#092;n&#092;r&#093;//;$_&#125; &amp;lt;&amp;gt;)&apos;&lt;br&gt;</description>
</item>

<item>
    <title>sed: Как заменить символ конца строки на запятую (Andrey Mitrofanov)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/81813.html#4</link>
    <pubDate>Thu, 04 Sep 2008 10:17:50 GMT</pubDate>
    <description>&amp;gt;Спасибо большое - то, что надо! &lt;br&gt;&lt;br&gt;У &quot;того, что надо&quot; тоже лишние запятые могут образовываться -&lt;br&gt;$ echo -e &quot;111&#092;n222&#092;n&#092;n&quot;&amp;#124;paste -s -d ,&lt;br&gt;111,222,,&lt;br&gt;$ _&lt;br&gt;Рекомендую &#037;)  &#096;&amp;#124;sed &apos;s/^,+//;s/,+$//;s/,,+/,/g&apos;&#096;&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;user1&#064;domain.ru, user2&#064;domain.ru&lt;br&gt;&lt;br&gt;Кстати, вам &quot;,&quot; или &quot;, &quot;? B-))&lt;br&gt;&amp;#124;sed &apos;s/ *, */,/g;s/^,+//;s/,+$//;s/,+/, /g&apos;&lt;br&gt;</description>
</item>

<item>
    <title>sed: Как заменить символ конца строки на запятую (Medlar)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/81813.html#3</link>
    <pubDate>Thu, 04 Sep 2008 09:29:26 GMT</pubDate>
    <description>Спасибо большое - то, что надо!&lt;br&gt;</description>
</item>

<item>
    <title>sed: Как заменить символ конца строки на запятую (ANF)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/81813.html#2</link>
    <pubDate>Wed, 03 Sep 2008 18:57:19 GMT</pubDate>
    <description>paste -s -d &apos;,&apos;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

</channel>
</rss>
