Как Grep до определенного символа или строки

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

пример:

Start
# lots of lines here
End

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

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

29
задан Sean Patrick Floyd
13.05.2023 22:18 Количество просмотров материала 3089
Распечатать страницу

1 ответ

попробуйте awk:

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

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

sed -n '/Start/,/End/p' file
3
отвечен Simon 2023-05-15 06:06

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх