Скажем, у меня есть следующий файл:
$ 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