<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Linux Forum &mdash; sed вопрос про удаление строк с исключением некоторых.]]></title>
		<link>https://linuxforum.ru/viewtopic.php?id=25202</link>
		<atom:link href="https://linuxforum.ru/extern.php?action=feed&amp;tid=25202&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «sed вопрос про удаление строк с исключением некоторых.».]]></description>
		<lastBuildDate>Sun, 18 Nov 2012 11:29:31 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: sed вопрос про удаление строк с исключением некоторых.]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=309706#p309706</link>
			<description><![CDATA[<p>Гы. Мой вариант лучше переделать так<br /></p><div class="codebox"><pre><code>#!/usr/bin/env python
#_*_ coding: utf-8 _*_

f = open(&#039;file.txt&#039;, &#039;r&#039;)
lines = f.readlines()
lines = [line for line in lines if line.rstrip().split(&#039;:&#039;)[1]]
f = open(&#039;file.txt&#039;, &#039;w&#039;)
f.writelines(lines)
f.close()</code></pre></div><p>Иначе получается редактирование списка во время итераций.</p>]]></description>
			<author><![CDATA[null@example.com (-=Serj=-)]]></author>
			<pubDate>Sun, 18 Nov 2012 11:29:31 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=309706#p309706</guid>
		</item>
		<item>
			<title><![CDATA[Re: sed вопрос про удаление строк с исключением некоторых.]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=309703#p309703</link>
			<description><![CDATA[<p><strong>Fat-Zer</strong> и <strong>-=Serj=-</strong> спасибо вам<br /></p><div class="quotebox"><cite>Fat-Zer пишет:</cite><blockquote><p>sed &#039;/^e-mail:\s*$/d&#039;<br />на что строки в таком случае заканчиваются безразлично...</p></blockquote></div><p>Спасибо, учту, но думаю, что файл лучше сначала привести к одному виду <span style="color: gray"><em>(знаменателю)</em></span>, что впредь и буду делать))</p>]]></description>
			<author><![CDATA[null@example.com (shonty)]]></author>
			<pubDate>Sun, 18 Nov 2012 11:04:49 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=309703#p309703</guid>
		</item>
		<item>
			<title><![CDATA[Re: sed вопрос про удаление строк с исключением некоторых.]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=309696#p309696</link>
			<description><![CDATA[<p>Если я правильно понял, то нужно удалить строки не только без email, но и все, у которых после двоеточия пусто:<br /></p><div class="codebox"><pre><code>#!/usr/bin/env python
#_*_ coding: utf-8 _*_

f = open (&#039;file.txt&#039;, &#039;r&#039;)
lines = f.readlines()
for line in lines:
    if not line.rstrip().split(&#039;:&#039;)[1]:
        lines.remove(line)
f = open (&#039;file.txt&#039;, &#039;w&#039;)
f.writelines(lines)
f.close()</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (-=Serj=-)]]></author>
			<pubDate>Sun, 18 Nov 2012 10:10:12 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=309696#p309696</guid>
		</item>
		<item>
			<title><![CDATA[Re: sed вопрос про удаление строк с исключением некоторых.]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=309686#p309686</link>
			<description><![CDATA[<div class="quotebox"><cite>shonty пишет:</cite><blockquote><p>так тоже пробовал, но у меня это не работает, строки без адреса всёравно оставляет.</p></blockquote></div><p>моя оплошность...&nbsp; вот так правильно, конечно:<br /><strong>sed &#039;/^e-mail:\s*$/d&#039;</strong><br />на что строки в таком случае заканчиваются безразлично...</p>]]></description>
			<author><![CDATA[null@example.com (Fat-Zer)]]></author>
			<pubDate>Sun, 18 Nov 2012 08:06:19 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=309686#p309686</guid>
		</item>
		<item>
			<title><![CDATA[Re: sed вопрос про удаление строк с исключением некоторых.]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=309679#p309679</link>
			<description><![CDATA[<p><strong>PS</strong><br /><em>Из за тотального преобладания объёма рекламы над объём полезной информации перехожу к просмотру &quot;любимых&quot; сайтов в режиме OffLine.</em>&nbsp; <img src="https://linuxforum.ru/img/smilies/bx.gif" alt="bx" /></p>]]></description>
			<author><![CDATA[null@example.com (shonty)]]></author>
			<pubDate>Sun, 18 Nov 2012 06:25:36 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=309679#p309679</guid>
		</item>
		<item>
			<title><![CDATA[Re: sed вопрос про удаление строк с исключением некоторых.]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=309678#p309678</link>
			<description><![CDATA[<div class="quotebox"><cite>Lupo Alberto пишет:</cite><blockquote><p>Хорошо, если всё в порядке, хотя странно... Ваша команда просто удалит последний символ. Я подобные «неправильные» строки исправляю так:<br />sed &#039;s/\r//g&#039; FILE</p></blockquote></div><p>Спасибо.</p><p><a href="http://ant0.ru/sed1line.html">sed &#039;s/.$//&#039; взял от сюда</a><br />Первый пример под заголовком &quot;Преобразование и замена текста:&quot;<br />Там пояснение к команде: (подразумевается что все строки заканчиваются с CR/LF)<br />Я её в самое начало скрипта вставил.</p>]]></description>
			<author><![CDATA[null@example.com (shonty)]]></author>
			<pubDate>Sun, 18 Nov 2012 06:06:36 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=309678#p309678</guid>
		</item>
		<item>
			<title><![CDATA[Re: sed вопрос про удаление строк с исключением некоторых.]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=309677#p309677</link>
			<description><![CDATA[<div class="quotebox"><cite>shonty пишет:</cite><blockquote><p>Всё чиниться простой командой sed &#039;s/.$//&#039; которую нужно выполнить в самом начале редактирования.<br />Иначе у меня вперемежку CR/LF и LF</p></blockquote></div><p>Хорошо, если всё в порядке, хотя странно... Ваша команда просто удалит последний символ. Я подобные «неправильные» строки исправляю так:<br /></p><div class="codebox"><pre><code>sed &#039;s/\r//g&#039; FILE</code></pre></div><p>или так<br /></p><div class="codebox"><pre><code>tr -d &#039;\r&#039; &lt; BAD_FILE &gt; FILE</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Lupo Alberto)]]></author>
			<pubDate>Sun, 18 Nov 2012 05:47:37 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=309677#p309677</guid>
		</item>
		<item>
			<title><![CDATA[Re: sed вопрос про удаление строк с исключением некоторых.]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=309676#p309676</link>
			<description><![CDATA[<p>Всем спасибо, и извините за беспокойство)))</p><p>Поставил в Geany &quot;отображать завершение строк&quot;<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p><span class="postimg"><img src="http://img641.imageshack.us/img641/462/10144083.png" alt="http://img641.imageshack.us/img641/462/10144083.png" /></span></p></div></div><p>Всё чиниться простой командой sed &#039;s/.$//&#039; которую нужно выполнить в самом начале редактирования.<br />Иначе у меня вперемежку CR/LF и LF</p>]]></description>
			<author><![CDATA[null@example.com (shonty)]]></author>
			<pubDate>Sun, 18 Nov 2012 05:41:47 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=309676#p309676</guid>
		</item>
		<item>
			<title><![CDATA[Re: sed вопрос про удаление строк с исключением некоторых.]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=309674#p309674</link>
			<description><![CDATA[<div class="quotebox"><cite>shonty пишет:</cite><blockquote><p>Проблема в конце строк.<br />Как исправить, подскажите plz</p></blockquote></div><p>Покажите, что в конце строк, т. е.<br /></p><div class="codebox"><pre><code>cat -A FILE</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Lupo Alberto)]]></author>
			<pubDate>Sun, 18 Nov 2012 05:17:45 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=309674#p309674</guid>
		</item>
		<item>
			<title><![CDATA[Re: sed вопрос про удаление строк с исключением некоторых.]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=309671#p309671</link>
			<description><![CDATA[<p>спасибо, но примеры с grep и awk-ом не подходят, так как нужно именно удалять строки из текстового файла. Содержание примерно такое:<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p><strong><em>Т&nbsp; Е&nbsp; К&nbsp; С&nbsp; Т</em></strong><br />Контактное лицо: Сан Саныч<br />Телефон 1: 3434343434<br />Телефон 2: <br />e-mail: <br />Город:<br />Организация: ООО СоюзКопоть<br />Дата добавления: 16 Ноя 2012</p></div></div><p>Многие поля остаются незаполненными. Файл и так объёмный, по этому хочу удалить ненужное<br /></p><div class="quotebox"><cite>Fat-Zer пишет:</cite><blockquote><p>sed &#039;/^e-mail:\s$/d&#039;</p></blockquote></div><p>так тоже пробовал, но у меня это не работает, строки без адреса всёравно оставляет.<br />Так тоже не работает: </p><div class="codebox"><pre><code>sed &#039;/^e-mail:\( \)$/d&#039;</code></pre></div><p>Работает так:<br />sed -e &#039;/@/!s/^e-mail:\( \)//g&#039; или sed -e &#039;/@/!s/^e-mail:\s//g&#039; оставляя пустую строку.<br />но не работает sed &#039;/@/!s/^e-mail:\s<strong><span style="color: red">$</span></strong>//g&#039; или sed &#039;/@/!s/^e-mail:\s<strong><span style="color: red">$</span></strong>//g<br />Хотя в файле после двоеточия стоит пробел и конец строки.</p><p>Я кажется разобрался в чём проблема: <br />текстовый файл создан из HTML, скаченного wget-ом путём&nbsp; удалением тегов и вырезания нужного/ненужного<br />На созданном с нуля *.txt файле sed &#039;/^e-mail:\s$/d&#039; работает, а на этом нет.</p><p>Проблема в конце строк.<br />Как исправить, подскажите plz</p>]]></description>
			<author><![CDATA[null@example.com (shonty)]]></author>
			<pubDate>Sun, 18 Nov 2012 04:28:09 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=309671#p309671</guid>
		</item>
		<item>
			<title><![CDATA[Re: sed вопрос про удаление строк с исключением некоторых.]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=309662#p309662</link>
			<description><![CDATA[<p>можно так:<br /><strong>sed &#039;/^e-mail:\s$/d&#039;</strong><br />есть ещё 2-3 способа с sed&#039;ом/grep&#039;ом...</p>]]></description>
			<author><![CDATA[null@example.com (Fat-Zer)]]></author>
			<pubDate>Sun, 18 Nov 2012 00:07:37 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=309662#p309662</guid>
		</item>
		<item>
			<title><![CDATA[Re: sed вопрос про удаление строк с исключением некоторых.]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=309653#p309653</link>
			<description><![CDATA[<p><div class="termtitle" style="font-family: sans-serif; position:relative; height:auto; width:auto; background:#3A4061; color:#FFFFFF; padding: 1px;"><b> Консоль:</b></div>
<div class="termcont" style="font-family: Terminus; position:relative; height:auto; width:auto; overflow-x:scroll; white-space: nowrap ; overflow-y:auto;background:#000000; color:#4EF44E; line-height:1.2; padding: 3px; font-size: 1rem; max-height: 60vh"><br />lupo@gentoo-laptop /tmp $ grep @ email.txt <br />e-mail: 123@mail.ru<br />e-mail: 456@mail.com<br /></div></p>]]></description>
			<author><![CDATA[null@example.com (Lupo Alberto)]]></author>
			<pubDate>Sat, 17 Nov 2012 20:31:31 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=309653#p309653</guid>
		</item>
		<item>
			<title><![CDATA[Re: sed вопрос про удаление строк с исключением некоторых.]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=309651#p309651</link>
			<description><![CDATA[<p><em>sed</em> обязателен?<br /><div class="termtitle" style="font-family: sans-serif; position:relative; height:auto; width:auto; background:#3A4061; color:#FFFFFF; padding: 1px;"><b> Консоль:</b></div>
<div class="termcont" style="font-family: Terminus; position:relative; height:auto; width:auto; overflow-x:scroll; white-space: nowrap ; overflow-y:auto;background:#000000; color:#4EF44E; line-height:1.2; padding: 3px; font-size: 1rem; max-height: 60vh"><br />lupo@gentoo-laptop /tmp % cat email.txt<br />e-mail: <br />e-mail: 123@mail.ru<br />e-mail: <br />e-mail: 456@mail.com<br />e-mail: <br />e-mail:<br />lupo@gentoo-laptop /tmp % awk -F &#039;: &#039; &#039;$2!=&quot;&quot; {print}&#039; email.txt<br />e-mail: 123@mail.ru<br />e-mail: 456@mail.com<br /></div></p>]]></description>
			<author><![CDATA[null@example.com (Lupo Alberto)]]></author>
			<pubDate>Sat, 17 Nov 2012 20:28:59 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=309651#p309651</guid>
		</item>
		<item>
			<title><![CDATA[sed вопрос про удаление строк с исключением некоторых.]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=309649#p309649</link>
			<description><![CDATA[<p>Всем привет. Начитался описаний и примеров, но не нашёл то что мне нужно.<br />Не могу справиться с проблемой:<br />необходимо удалить строки содержащие некое выражение, но оставить строки содержащие другое выражение.<br />подобно замене&nbsp; sed &#039;/baz/s/foo/bar/g&#039; или sed &#039;/baz/!s/foo/bar/g&#039;</p><p>На примере:<br />в файле содержаться строки c &quot;e-mail: &quot;<br /></p><div class="codebox"><pre><code>e-mail: 
e-mail: 123@mail.ru
e-mail: 
e-mail: 456@mail.com
e-mail: 
e-mail: </code></pre></div><p>Необходимо удалить только строки в которых нет электронного адреса</p>]]></description>
			<author><![CDATA[null@example.com (shonty)]]></author>
			<pubDate>Sat, 17 Nov 2012 20:14:34 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=309649#p309649</guid>
		</item>
	</channel>
</rss>
