Linux: как выполнить копирование части логов из файла в новый файл по нескольким фильтрам?
Добрый день!
Есть файл с логами Cisco ASA, хранящийся на сервере ubuntu - file.log . Файл не маленький, более 4 гигабайт. Нужно скопировать часть логов в новый файл по нескольким фильтрам:
- все строки, которые включают в себя текст "11.11.11.11/111" (айпи адрес и порт)
- И начало фрагмента должно быть со строк, в которых указано время, допустим с 19:00, а конец - со строками, где указано время 21:00 (короче за определённый промежуток времени).
Я пересмотрел статьи и темы вопросов/ответов на эту тематику (по cut, head, tail, awk и нескольким другим инструментам работы с текстом), но, честно говоря, сложить в уме полную картину как должна выглядеть команда для копирования с заданными фильтрами у меня пока не получается.
Подскажите какой командой это можно выполнить. Или же лучше разбить это на части и выполнить копирование фрагмента сперва по одному фильтру, а потом по другому?
Вам поможет regexp (регулярные выражения), после того, как напишите регулярку, выводите файл -> фильтруете -> результат вывода фильтрации перенаправляете в новый файл. По типу: