Аватар для Vinemax
149 / 117 / 10
Регистрация: 12.09.2011
Сообщений: 785

Подсчет количества одинаковых строк в текстовом файле

16.05.2020, 00:32. Показов 2906. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем!

Подскажите, пожалуйста, возможно ли средствами .NET (C# или VB) в текстовом файле с огромным количеством строк посчитать все количества повторений каждой строки по типу: строка такая-то - 10 раз, строка такая-то - 27 раз и так далее? Кроме того, необходимо удалить все повторения той или иной строки. Очень важно, чтобы сам исходный текстовый файл не загружался в память по типу File.ReadAllLines. Целый день бьюсь и ничего толкового не получается. Возможно вообще такое без загрузки всего файла в память?

Спасибо!

Добавлено через 4 минуты
Может быть как-то возможно для каждой строки из файла формировать какое-то уникальное число? Есть в .NET такая функция?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.05.2020, 00:32
Ответы с готовыми решениями:

Файлы, подсчет количества слов в текстовом файле
Ниже код, нужно Добавить обработку ошибки , если допустим не хватает памяти, и чтобы из текстового файла бралось 1 слово и заносилось в...

Определение количества строк в текстовом файле и считывание заданной строки
Как определить количество строк в файле .txt и считать n-ную строку?

Подсчёт количества строк в текстовом файле
Создать текстовый файл с произвольным текстом и через меню предусмотреть следующие действия: 1) просмотр содержимого файла; 2)...

25
Модератор
Эксперт .NET
 Аватар для Yury Komar
4375 / 3445 / 512
Регистрация: 27.01.2014
Сообщений: 6,267
17.05.2020, 12:45
Студворк — интернет-сервис помощи студентам
sldp, нет, генерация файла тут не при чем. Задача - прочитать этот сгенерированный файл получая количество всех вхождений каждой строки (инфу показать пользователю) и затем, финальная стадия - Сохранение в другой файл только уникальные строки, без дубликатов.

Данное действо реализовать просто, но вопрос именно в том, как это сделать максимально быстро, а не ждать 13-15 часов на прогон 190,000,000 строк... и сравнение с теми, что уже прогнали и отобрали уникальные...

как-то так. Приоритет - СКОРОСТЬ.

Добавлено через 2 минуты
на простой (пустой) прогон всех строк у меня тратится не более 1,5 - 2 минут, а расчеты на прогон с чтением и составлением того, что требуется в десятки часов...

Надо думать...
1
310 / 318 / 119
Регистрация: 29.10.2011
Сообщений: 1,006
17.05.2020, 13:48
Yury Komar, Я понимаю, но все это больше походит не на реальную задачу, а на задачку из собеседования или из олимпиады по ИТ/комбинаторике, где нужно именно благодаря логике дойти до решения, а не брутфорсом
Особенно условия, что числа в строке идут в порядке возрастания, что итоговые строки должны быть в порядке возрастания - это все еще больше наталкивает на мысль, что это именно задача а-ля олимпиадная по комбинаторике или с собеседования, где важен именно сам подход в решении, а не результат в виде отфильтрованных строк
1
Модератор
Эксперт .NET
 Аватар для Yury Komar
4375 / 3445 / 512
Регистрация: 27.01.2014
Сообщений: 6,267
17.05.2020, 16:19
sldp, я думаю, не важно где это будет применяться. Человек задал вопрос, а реальное применение этого мне да и многим тут на форуме - не очень важно, пусть то будет олимпиада или лаба.
1
310 / 318 / 119
Регистрация: 29.10.2011
Сообщений: 1,006
18.05.2020, 10:28
Yury Komar, Не соглашусь. От источника этой задачи зависит ее решение. Пока это выглядит, как если решать квадратное уравнение с помощью цикла прогоняя все возможные х вместо нахождения дискриминант и пр.
1
 Аватар для Vinemax
149 / 117 / 10
Регистрация: 12.09.2011
Сообщений: 785
21.05.2020, 09:38  [ТС]
Yury Komar, в общем решил я кое-как свою задачу путем сортировки по алфавиту... То есть, программа получает все возможные комбинации, записывая их в файл, как сейчас, только в файл записывает не числа, а символы, соответствующие ASCII-кодам этих чисел (7 символов на строку), затем утилитой sort.exe сортирует этот файл и на третьем этапе единожды прогоняет этот файл, подсчитывая все повторения. На все эти операции с более чем 200 миллионами комбинаций мой компьютер затрачивает 42 минуты. Это вполне терпимо. Если интересен код, вот...
Вложения
Тип файла: zip Combinations.zip (1.24 Мб, 13 просмотров)
1
Модератор
Эксперт .NET
 Аватар для Yury Komar
4375 / 3445 / 512
Регистрация: 27.01.2014
Сообщений: 6,267
21.05.2020, 18:29
Vinemax, Справился? Отлично )
да, когда забрал, посмотрю, спасибо, что поделился.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.05.2020, 18:29

Подсчет количества строк в текстовом файле
Здравствуйте, есть 2 файлика Excel. Необходимо написать скрипт, который подсчитывал бы кол-во записей в 1 файлике и вставлял такое кол-во...

Подсчет количества строк в текстовом файле, имя которого задано первым параметром КФ. Проверить наличие указа
Подсчет количества строк в текстовом файле, имя которого задано первым параметром КФ. Проверить наличие указанного файла и вывести...

Подсчет количества слов в текстовом файле
Подсчет количества слов в текстовом файле, содержащем целые числа и слова русского и английского языков. Считать, что слова в файле...

Подсчет количества слов в текстовом файле
Дан текстовый файл. Составить программу, подсчитывающую количество слов в файле.

Подсчет количества абзацев в текстовом файле
здравствуйте!!помогите пожалуйста решить задачу!!мне дан текстовый файл,нужно посчитать в нем количество абзацев(абзац-это или пустая...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Опции темы

Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru