2

Мне нужно извлечь данные журнала из файлов журналов на многие тербайты. Дело в том, что данные, которые мне нужны, начинаются и заканчиваются шаблонами, которые я могу идентифицировать, но код между ними может быть от 10 до 100+ строк.

Пример:

Start
# lots of lines here
End

В настоящее время я выполняю команду grep -A 50 "Start" , которая дает мне Start и 50 строк после этого. Однако почти во всех случаях это больше или меньше, чем мне нужно. Больше означает, что полученный файл отчета увеличивается на гигабайты больше, чем нужно, и меньше означает, что я не получаю нужную мне информацию.

Есть ли способ извлечь именно то, что мне нужно, используя стандартные инструменты Unix / Linux?

1 ответ1

3

Попробуйте это с помощью awk:

awk '/^Start/,/^End/' file

или если вы предпочитаете sed:

sed -n '/Start/,/End/p' file

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .