Как получить строку ТОЛЬКО до и выше моей строки?

Как получить линии только на одну или две строки до и над моей строкой, я использую

 grep --color=always -Irn -E 'foo|bar'

, но она находит меня по всем документам:

foo.md:10:foo
foo.md:142:bar

Мне нужно только совпадение линий РЯДОМ, одна или, может быть, две.

foo.md:10:foo
foo.md:12:bar

Нечто подобное.

0
задан 2 July 2019 в 09:51

1 ответ

Я пытался найти в течение нескольких часов, но как всегда это было так просто:

grep --color=always -Irn 'foo' -A1 -B1 | grep -In --color=always "bar" -A2 -B1

Найти 'foo' и 1 строку после '-A1' и 1 строку перед '-B1', пройти это для второго grep и обработки с ключевым словом 'bar' и вуаля! -I для игнорирования двоичных файлов, -r означает рекурсивный поиск и -n означает номер строки вывода. --color = всегда - подсвечивает совпадающую строку.

1
ответ дан 2 July 2019 в 09:51

Другие вопросы по тегам:

Похожие вопросы: