Назад | Перейти на главную страницу

grep несколько вхождений с промежуточными строками

Я бы хотел сделать следующее:

Учитывая файл с множеством строк, некоторые из которых соответствуют шаблону, выведите первую совпадающую строку, последнюю совпадающую строку и все строки между ними (я хочу, чтобы они были в исходном порядке, я не имею в виду, что хочу переставить вывод). Я знаю, что могу выводить окружающий контекст с помощью grep, но мне нужен один непрерывный набор строк в качестве вывода

Любая помощь приветствуется :)

изменить: Пример:

#PATTERN: 'ZZZZZ'

#INPUT:
foo
foo bar
foo bar ZZZZZ baz
foo bar foo
foo ZZZZZ
bar
ZZZZZ
foo ZZZZZ
foo bar baz
foo

#OUTPUT:
foo bar ZZZZZ baz
foo bar foo
foo ZZZZZ
bar
ZZZZZ
foo ZZZZZ

Попробуйте использовать следующую команду, если вы хотите использовать grep в строках с «ZZZZZ» и «bar»

grep 'ZZZZZ\|bar' /file/to/path