Нужно написать консольную утилиту по удалению и вставке переносов в определенных местах файла txt

  • Опубликовано 3 года назад
  • Просмотры 4
  • Закончить проект

Описание

Есть некий файл лога в формате UTF-8 с BOM.
Проблема в том, что некоторые события в файле занимают несколько строк. а должны занимать одну строку для удобного поиска по рег. выражению.
Необходимо сначала удалить все переносы строк в этом файле, а потом вставить переносы только в тех местах где начинается новое событие лога. Эти места известны, они подходят под маску рег. выражения.
Переносы могут быть как LF так и CRLF.
Раньше пользовался утилитой Ned, но стали встречаться файлы в которых есть символы не кодирующиеся UTF-8 и Ned такое проживать не смог. Наличие таких символов тоже надо учесть, файлы для теста я дам.
Очень важный момент, программа должна работать очень быстро, т.к. файлы для обработки могут занимать несколько Гб. Разбор файла на 1Гб не должен занимать больше минуты.
Желательно написать на C++ или чем-то подобном скоростном.

Опубликовано 3 года назад