Не существует эффективного способа прямого поиска в текстовом файле строк переменной длины.Наиболее эффективные методы требуют дополнительных затрат для преобразования данных в форму, более подходящую для более эффективного метода поиска.Эти накладные расходы не могут быть полезны для нечастых поисков.
Нечастый поиск
Если поиск по файлу выполняется только один раз или не очень часто, я предлагаю перебор по строке.Другие методы могут тратить время на настройку данных для более быстрого поиска.Например, с помощью вашей программы найдите первую строку, содержащую один или несколько атрибутов.
Частый поиск
Программа требуется для поиска файла много раз.В этом случае вы можете настроить некоторые структуры данных для лучшего поиска.Одним из методов является создание индексных файлов.Эти файлы содержат позиции файлов атрибутов, отсортированных по атрибутам.Что-то вроде [атрибута] [первого события] [второго события] и т. Д.
Другая альтернатива - ваша программа преобразует файл в формат, который может использовать лучший инструмент, например электронную таблицу или базу данных.Одним из примеров является Comma Separate Values или некоторые инструменты, которым нравится разделять значения через '|'.
Смена генератора
И все же программа, сгенерировавшая файл журнала, может быть измененагенерировать электронные таблицы или дружественные файлы базы данных.Я сделал это со встроенной системой.Я загрузил данные в электронную таблицу и использовал функции электронных таблиц для анализа данных.Гораздо проще, чем написать программу для поиска (и анализа) файла журнала.