У меня есть простая команда grep, которая возвращает строки, совпадающие с файлом. Вот проблема: иногда, когда строка соответствует, я хочу включить строку перед ней. Мне нужен способ найти все строки, которые соответствуют шаблону, а затем использовать другой шаблон, чтобы увидеть, совпадают ли строки перед каждым из этих результатов.
Допустим, я хочу получить все строки, содержащие 'bar', и строки перед каждой из них, только если они содержат 'foo'. С учетом ввода, как это:
Spam spam eggs eggs
Let's all go to the bar.
Blah Blah Blah foo.
Meh.
foo foo foo
Yippie, a bar.
Мне бы хотелось получить такой результат:
Let's all go to the bar
foo foo foo
Yippie, a bar.