Отправляет email-рассылки с помощью сервиса Sendsay

[TC] Удаление множества однотипных ненужных строк из текстового файла.

Доброе время суток, уважаемые участники рассылки!

В общем, ситуация следующая: есть огромный текстовый файл, размером,
примерно около 5 мегабайтов. Устроен он следующим образом: идёт три
строки, которые нужно удалить, затем четвёртая, которую нужно
оставить, затем пустая строка, которую желательно бы тоже удалить,
потом снова три ненужные строки, потом нужная и снова пустая и так
более 25 тысяч раз. Каждая из четырёх строк начинается на своё
определённое слово. Во всех первых - одно слово, во вторых - другое, в
нужной, четвёртой, первое слово тоже везде своё одно. А вот теперь
вопрос: можно ли как-то и чем-то автоматизировать либо удаление
ненужных строк, либо собрать и вытащить в буфер или в отдельный файл
все нужные строки?

Спасибо!

Ответить   Mon, 22 Aug 2011 15:13:15 +0300 (#1818301)

 

Ответы:

Добрый день, Ivbera.

Вы писали 22 августа 2011 г., 15:13:15:

balabolka, shift f6, вкладка текст, есть флажок на удаление пустых
строк.

Ответить   Tue, 23 Aug 2011 02:02:19 +0300 (#1818455)

 

Приветствую всех.

Скорее можно, чем нельзя.
Есть, как минимум, три варианта (но все они подразумевают использование регулярных
выражений):
1. Текстовый редактор с поддержкой регулярных выражений (akelpad не пойдет).
2. Утилита findstr, входящая в состав Windows (можно все нужные строки отфильтровать
в отдельный файл). Подробнее в консоли:
help findstr
3. Любой скриптовый язык, движок которого есть у вас на компьютере (VBScript,
JScript, php, perl, python, etc.). Кроме отбора строк по регулярным выражениям,
в скриптах можно подсчитывать строки при построчном чтении из файла (если структура
файла не изменяется и каждая четвертая строка из пяти - это то, что нужно).

Для п.2 есть еще более тяжелая артиллерия - утилиты GNU для Windows (но, думаю,
findstr будет достаточно).

Успехов. Анатолий.

Ответить   "i_chay" Tue, 23 Aug 2011 07:26:41 +0400 (#1818535)

 

Всем привет.

23.08.11, 07:26, "i_chay" <i_ch***@r*****.ru>:

Почему Akelpad не пойдет? Да же очень пойдет, при условии наличия всех плагинов
и скриптов. В блокноте переходим на пункт Плагины, там выбираем Скрипты,
открываем скрипт Фильтр строк с использованием регулярных выражений.
В окошке Строка содержит - вписываем нужное словосочетание,
отмечаем Удалить и жмем ОК. Если не понравилось, все легко восстанавливается.
http://narod.ru/disk/13909718001/AkelPad.rar.html

Ответить   Grosvik Tue, 23 Aug 2011 09:00:13 +0400 (#1819029)

 

Приветствую, Ivbera.

http://dl.dropbox.com/u/32213204/Notepad%2B%2B.rar

При поиске просто поставить флажок *Отметить закладкой*, ну или
как-то так. Вобщем, там в меню *поиск* хватает возможностей, чтобы
проделать все нужные операции.
Как удалять пустые строки notepad я сильно не искал, но легко и быстро
это проделываю в ListEdit.

--
http://www.mp3vtel.ru - рингтоны и реалтоны бесплатно и без регистрации.
Со всем почтением - Badjos.
badj***@r*****.ru badj***@j*****.ru, ICQ: 310928013.

Ответить   Badjos Tue, 23 Aug 2011 09:38:26 +0400 (#1818682)

 

здравствуйте.
вообщем я понял что нужно оставить каждую четвертую строку?
можно определить по всегда повторяющемуся слову и таким образом копировать
ее в новый файл.
присылайте файл.
со справкой на нужное слово, которое надо определять всегда.
koger***@s*****.net

Ответить   "kogerer" Tue, 23 Aug 2011 05:42:30 +0300 (#1819032)

 

Доброго здоровья всем и вам Ивбера!
Не мудрствуя лукаво, предлагаю воспользоваться функцией замены в
Microsoftword. Откройте документ вордом и по CTRL+H запустите замену. В поле
заменяемого текста вставляйте ваши строки вместе с разрывами (пустыми
строками), которые подлежат удалению, заменяя их на пробел, к примеру, или
на разрыв строки (пустую строку).

Удачи!
С уважением
Михаил

Ответить   Tue, 23 Aug 2011 16:39:04 +0300 (#1819435)