mef-t
Осваивающий
- Сообщения
- 306
- Репутация
- 30
Добрый день.
Есть лог объемом в 500 записей. 1 запись лога представляет собой одну строчку текста.
Новая запись лога сдвигает весь лог вниз на 1 строчку, при этом на первое место встает новая запись, а последняя запись удаляется.
Периоды появления новой записи могут быть разными, от 10 строк в 10 секунд, до 1 записи в 3 часа.
Необходимо получить историю лога с учетом затираемых записей.
К сожалению время записи лога я так и не смог получить, по этому у меня встала необходимость написать скрипт, который будет объединять выгрузки лога в один общий файл, удаляя повторявшиеся записи.
Прошу помочь подобрать логику и оптимальный алгоритм объединения выгрузок лога (по 500 записей) в один файл.
Как я это вижу
Есть исходный файл с 500 или более строками.
Есть второй файл с 500 строками.
Необходимо найти участок текста в обоих файлах, который бы совпадал.
При этом в исходном файле данный участок должен начинаться с 1 символа текста.
Во втором файле данный участок должен оканчиваться последним символом текста.
Участок текста должен включать в себя строки целиком. При этом количество строк на искомом участке не известно.
Для примера первый текст:
Второй текст:
Есть лог объемом в 500 записей. 1 запись лога представляет собой одну строчку текста.
Новая запись лога сдвигает весь лог вниз на 1 строчку, при этом на первое место встает новая запись, а последняя запись удаляется.
Периоды появления новой записи могут быть разными, от 10 строк в 10 секунд, до 1 записи в 3 часа.
Необходимо получить историю лога с учетом затираемых записей.
К сожалению время записи лога я так и не смог получить, по этому у меня встала необходимость написать скрипт, который будет объединять выгрузки лога в один общий файл, удаляя повторявшиеся записи.
Прошу помочь подобрать логику и оптимальный алгоритм объединения выгрузок лога (по 500 записей) в один файл.
Как я это вижу
Есть исходный файл с 500 или более строками.
Есть второй файл с 500 строками.
Необходимо найти участок текста в обоих файлах, который бы совпадал.
При этом в исходном файле данный участок должен начинаться с 1 символа текста.
Во втором файле данный участок должен оканчиваться последним символом текста.
Участок текста должен включать в себя строки целиком. При этом количество строк на искомом участке не известно.
Для примера первый текст:
Код:
123
12
234
12
432
123
534
213
453
123
342
Второй текст:
Код:
123
1234
12
345
123
67854
234
567
234
123
12
234
12