Скажем, у меня есть следующий файл:
$ cat test
test line 1
test line 2
line without the search word
another line without it
test line 3 with two test words
test line 4
По умолчанию grepвозвращает каждую строку, содержащую поисковый запрос:
$ grep test test
test line 1
test line 2
test line 3 with two test words
test line 4
Передача --colorпараметра в grepзаставит его выделить часть строки, которая соответствует поисковому выражению, но он все равно будет возвращать только те строки, которые содержат выражение. Есть ли способ получить grepдля вывода каждую строку в исходном файле, но выделить совпадения?
Мой текущий ужасный взлом для достижения этой цели (по крайней мере, для файлов, которые не имеют более 10000 последовательных строк без совпадений):
$ grep -B 9999 -A 9999 test test

Если grepэто невозможно, есть ли другой инструмент командной строки, который предлагает такую же функциональность? Я возился с этим ack, но у него, похоже, тоже нет выбора.
-C 9999вместо. -A 9999 -B 9999Я всегда делаю:grep -C 9999 pattern file