<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: sed</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9702.html</link>
    <description>&lt;br&gt;Привет,&lt;br&gt;&lt;br&gt;Необходимо парсить csv-файлы, т.е. с помощью sed вывести определенные поля. В качестве разделителя выступает точка с запятой (;). Проблема возникает, когда в поле встречается знак ;. Такие поля взяты в двойные кавычки. Надо в таких полях ; заменять на другой знак, не являющийся метасимволом.&lt;br&gt;&lt;br&gt;Например: aa;&quot;bb ; cc&quot;;dd -&amp;gt; aa;&quot;bb -- cc&quot;;dd&lt;br&gt;&lt;br&gt;Пробую,например, заменить&lt;br&gt;&lt;br&gt;echo &quot;aa;&#092;&quot;bb ; cc&#092;&quot;;dd&quot; &amp;#124; sed -E &apos;/&quot;.*&quot;/  s/;/--/g&apos;&lt;br&gt;на выходе aa--&quot;bb -- cc&quot;--dd&lt;br&gt;&lt;br&gt;Подскажите правильное решение.&lt;br&gt;</description>

<item>
    <title>sed (Andrey Mitrofanov)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9702.html#8</link>
    <pubDate>Thu, 11 Jul 2013 18:11:50 GMT</pubDate>
    <description>&amp;gt; Давайте, и давайте не будем представляться умнее планеты всей :-) &lt;br&gt;&amp;gt; Смысл NR&#037;2==0 знаю&lt;br&gt;&amp;gt; Немного непонятно поведение awk касательно моего случая&lt;br&gt;&lt;br&gt;Обрати очи в сторону &amp;gt;&amp;gt;-v RS=&#092;&quot; -v ORS=&#092;&quot;&amp;lt;&amp;lt;.&lt;br&gt;&lt;br&gt;&amp;gt; И да, разве этот мой пост не является опровержением ваших рассуждений: &lt;br&gt;&lt;br&gt;Не-а. Я тебе рассказал &quot;страшный секрет&quot; второй половины заклинания. Теперь ты напряжёшься, прочитаешь-таки, как там и что, и через пару дней забудешь всё.&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; Отсюда вопрос, стоит ли у нас задача чему-нибудь научить того, кто спрашивает &lt;br&gt;&amp;gt; а?&lt;br&gt;&lt;br&gt;Понял, что нет.&lt;br&gt;</description>
</item>

<item>
    <title>sed (sh)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9702.html#7</link>
    <pubDate>Thu, 11 Jul 2013 14:34:59 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt; Работает все гуд. Только не пойму смысл NR&#037;2==0.&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;&amp;gt; тут маркет халявных скрипт-арбайтеров?&lt;br&gt;&amp;gt; И вопрос&amp;#8470;2, является ли принуждение к миру^Wсамостоятельному, если не решению задачи, &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;Смысл NR&#037;2==0 знаю и на инглише читать тоже умею к примеру вот отсюда http://www.gnu.org/software/gawk/manual/html_node/Very-Simple.html&lt;br&gt;&lt;br&gt;Немного непонятно поведение awk касательно моего случая с установленным NR&#037;2==0.&lt;br&gt;&lt;br&gt;И да, разве этот мой пост не является опровержением ваших рассуждений:&lt;br&gt;&lt;br&gt;&amp;gt; Отсюда вопрос, стоит ли у нас задача чему-нибудь научить того, кто спрашив</description>
</item>

<item>
    <title>sed (Andrey Mitrofanov)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9702.html#6</link>
    <pubDate>Thu, 11 Jul 2013 05:54:38 GMT</pubDate>
    <description>&amp;gt;&amp;gt;&amp;gt; Про правильное не знаю, вот написанное быстро и работающее, вроде &lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;#124;awk -v RS=&#092;&quot; -v ORS=&#092;&quot; &apos;NR&#037;2==0&#123;gsub(&quot;;&quot;,&quot;--&quot;)&#125;&#123;print&#125;&apos; &lt;br&gt;&amp;gt; Работает все гуд. Только не пойму смысл NR&#037;2==0.&lt;br&gt;&lt;br&gt;Ну, обясню я тебе, ты скажешь &quot;здорово!&quot;, допустим, но ничему ж не научишься.&lt;br&gt;&lt;br&gt;Отсюда вопрос, стоит ли у нас задача чему-нибудь научить того, кто спрашивает и других участников (в других вопросам - самим научиться), или же тут маркет халявных скрипт-арбайтеров?&lt;br&gt;&lt;br&gt;И вопрос&amp;#8470;2, является ли принуждение к миру^Wсамостоятельному, если не решению задачи, то хотя бы, _прочтению и пониманию предоставленного решения, методом этого самого обучения?&lt;br&gt;&lt;br&gt;А давайте это обсудим?!!&lt;br&gt;</description>
</item>

<item>
    <title>sed (sh)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9702.html#5</link>
    <pubDate>Wed, 10 Jul 2013 12:58:58 GMT</pubDate>
    <description>&amp;gt;&amp;gt;&amp;gt; Подскажите правильное решение.&lt;br&gt;&amp;gt;&amp;gt; Про правильное не знаю, вот написанное быстро и работающее, вроде &lt;br&gt;&amp;gt;&amp;gt; &amp;#124;awk -v RS=&#092;&quot; -v ORS=&#092;&quot; &apos;NR&#037;2==0&#123;gsub(&quot;;&quot;,&quot;--&quot;)&#125;&#123;print&#125;&apos; &lt;br&gt;&amp;gt;&amp;gt; На sed-е можно, но муторно. Я пропускаю.&lt;br&gt;&lt;br&gt;sorry for noise&lt;br&gt;Работает все гуд. Только не пойму смысл NR&#037;2==0.&lt;br&gt;</description>
</item>

<item>
    <title>sed (sh)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9702.html#4</link>
    <pubDate>Wed, 10 Jul 2013 12:43:02 GMT</pubDate>
    <description>&amp;gt;&amp;gt;&amp;gt; Подскажите правильное решение.&lt;br&gt;&amp;gt;&amp;gt; Про правильное не знаю, вот написанное быстро и работающее, вроде &lt;br&gt;&amp;gt;&amp;gt; &amp;#124;awk -v RS=&#092;&quot; -v ORS=&#092;&quot; &apos;NR&#037;2==0&#123;gsub(&quot;;&quot;,&quot;--&quot;)&#125;&#123;print&#125;&apos; &lt;br&gt;&amp;gt;&amp;gt; На sed-е можно, но муторно. Я пропускаю.&lt;br&gt;&amp;gt; О, то что надо. Че я сразу awk не применил. Не люблю &lt;br&gt;&amp;gt; его как-то... медленновато работает с большимм объемами данных.&lt;br&gt;&lt;br&gt;Поторопился. Немного не то. Заведомо неизвестно в каком поле встречается знак (;), если только во-втором, тут да все просто :-)&lt;br&gt;</description>
</item>

<item>
    <title>sed (sh)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9702.html#3</link>
    <pubDate>Wed, 10 Jul 2013 12:36:45 GMT</pubDate>
    <description>&amp;gt;&amp;gt; Подскажите правильное решение.&lt;br&gt;&amp;gt; Про правильное не знаю, вот написанное быстро и работающее, вроде &lt;br&gt;&amp;gt; &amp;#124;awk -v RS=&#092;&quot; -v ORS=&#092;&quot; &apos;NR&#037;2==0&#123;gsub(&quot;;&quot;,&quot;--&quot;)&#125;&#123;print&#125;&apos; &lt;br&gt;&amp;gt; На sed-е можно, но муторно. Я пропускаю.&lt;br&gt;&lt;br&gt;О, то что надо. Че я сразу awk не применил. Не люблю его как-то... медленновато работает с большимм объемами данных.&lt;br&gt;</description>
</item>

<item>
    <title>sed (John)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9702.html#2</link>
    <pubDate>Tue, 09 Jul 2013 18:17:25 GMT</pubDate>
    <description>&amp;gt; Привет, &lt;br&gt;&amp;gt; Необходимо парсить csv-файлы, т.е. с помощью sed вывести определенные поля. В качестве &lt;br&gt;&amp;gt; разделителя выступает точка с запятой (;). Проблема возникает, когда в поле &lt;br&gt;&amp;gt; встречается знак ;. Такие поля взяты в двойные кавычки. Надо в &lt;br&gt;&amp;gt; таких полях ; заменять на другой знак, не являющийся метасимволом.&lt;br&gt;&amp;gt; Например: aa;&quot;bb ; cc&quot;;dd -&amp;gt; aa;&quot;bb -- cc&quot;;dd &lt;br&gt;&amp;gt; Пробую,например, заменить &lt;br&gt;&amp;gt; echo &quot;aa;&#092;&quot;bb ; cc&#092;&quot;;dd&quot; &amp;#124; sed -E &apos;/&quot;.*&quot;/  s/;/--/g&apos; &lt;br&gt;&amp;gt; на выходе aa--&quot;bb -- cc&quot;--dd &lt;br&gt;&amp;gt; Подскажите правильное решение.&lt;br&gt;&lt;br&gt;А еще поле может содержать двойные кавычки как значение(а может и не один символ, а несколько).&lt;br&gt;IMHO: CSV - штука совсем не простая. Я бы использовал Perl. На http://search.cpan.org/ в изобилии модулей, _корректно_ обрабатывающих CSV-файлы.&lt;br&gt;</description>
</item>

<item>
    <title>sed (Andrey Mitrofanov)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9702.html#1</link>
    <pubDate>Tue, 09 Jul 2013 18:07:00 GMT</pubDate>
    <description>&amp;gt; Подскажите правильное решение.&lt;br&gt;&lt;br&gt;Про правильное не знаю, вот написанное быстро и работающее, вроде&lt;br&gt;&lt;br&gt;&amp;#124;awk -v RS=&#092;&quot; -v ORS=&#092;&quot; &apos;NR&#037;2==0&#123;gsub(&quot;;&quot;,&quot;--&quot;)&#125;&#123;print&#125;&apos;&lt;br&gt;&lt;br&gt;На sed-е можно, но муторно. Я пропускаю.&lt;br&gt;</description>
</item>

</channel>
</rss>
