Форум программистов, компьютерный форум CyberForum.ru

Удалить строки, в которых больше 7ми слов - C++

Восстановить пароль Регистрация
 
regga5
0 / 0 / 0
Регистрация: 11.05.2013
Сообщений: 15
30.01.2014, 16:08     Удалить строки, в которых больше 7ми слов #1
Друзья.
Вторую неделю ломаю голову чем и как можно решить эту задачу.

Есть текстовый документ на 5 миллионов строк (cp1251), есть как кириллица так и латиница + цифры. Нужно удалить из него все строки в которых больше семи слов (тоесть больше 7 пробелов).

Подскажите пожалуйста чем и как

Добавлено через 6 минут
Могу разделить на куски, потом сложить обратно - если объемы большие.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.01.2014, 16:08     Удалить строки, в которых больше 7ми слов
Посмотрите здесь:

C++ найти количество слов в которых две или больше буквы "с"
Удалить из матрицы те строки, для которых количество ненулевых элементов больше количества нулевых элементов в строке C++
C++ Удалить все столбцы матрицы, в которых первый элемент больше последнего
C++ Вывод слов из файла длина которых больше N
C++ Массив: Удалить в матрице столбцы количество нулей в которых больше половины.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vovan-VE
 Аватар для Vovan-VE
13082 / 6463 / 183
Регистрация: 10.01.2008
Сообщений: 15,062
31.01.2014, 16:15     Удалить строки, в которых больше 7ми слов #2
А в линуксах есть grep
regga5
0 / 0 / 0
Регистрация: 11.05.2013
Сообщений: 15
31.01.2014, 16:45  [ТС]     Удалить строки, в которых больше 7ми слов #3
А я знаю )
Но увы не знаком с Линуксом вообще никак
SoftIce
 Аватар для SoftIce
9661 / 3193 / 801
Регистрация: 27.07.2011
Сообщений: 7,524
Завершенные тесты: 1
31.01.2014, 18:14     Удалить строки, в которых больше 7ми слов #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от regga5 Посмотреть сообщение
(тоесть больше 7 пробелов
7 пробелов - 8 слов

Вот набросал программку. Файл из 7 тыс строк обрабатывает моментально.Насчет 5 млн. - не знаю, попробуй. В крайнем случае разобьёшь на куски.

Исходный текстовый файл не меняется, создаётся новый файл 2.txt с кодировкой по умолчанию.
Вложения
Тип файла: rar WordKiller.rar (15.6 Кб, 6 просмотров)
SoftIce
 Аватар для SoftIce
9661 / 3193 / 801
Регистрация: 27.07.2011
Сообщений: 7,524
Завершенные тесты: 1
31.01.2014, 20:54     Удалить строки, в которых больше 7ми слов #5

Не по теме:

А как это мы в С++ переехали?



Немного оптимизировал код.

Файл 2 млн. строк 124 Мб обработался на моей слабенькой домашней машине за 4 минуты, получилось 370000 строк
Миниатюры
Удалить строки, в которых больше 7ми слов  
Вложения
Тип файла: rar WordKiller.rar (15.6 Кб, 11 просмотров)
Yandex
Объявления
31.01.2014, 20:54     Удалить строки, в которых больше 7ми слов
Ответ Создать тему
Опции темы

Текущее время: 14:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru