Как получить линии только на одну или две строки до и над моей строкой, я использую
grep --color=always -Irn -E 'foo|bar'
, но она находит меня по всем документам:
foo.md:10:foo
foo.md:142:bar
Мне нужно только совпадение линий РЯДОМ, одна или, может быть, две.
foo.md:10:foo
foo.md:12:bar
Нечто подобное.
Я пытался найти в течение нескольких часов, но как всегда это было так просто:
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 = всегда - подсвечивает совпадающую строку.