Powiedz, że mam następujący plik:
$ 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
Domyślnie grepzwraca każdy wiersz zawierający wyszukiwane hasło:
$ grep test test
test line 1
test line 2
test line 3 with two test words
test line 4
Przekazanie --colorparametru grepspowoduje, że podświetli on część wiersza pasującą do wyrażenia wyszukiwania, ale nadal zwraca tylko wiersze zawierające wyrażenie. Czy istnieje sposób, aby uzyskać grepwyjście każdej linii w pliku źródłowym, ale wyróżnić dopasowania?
Mój obecny straszny hack, aby to osiągnąć (przynajmniej w plikach, które nie mają ponad 10000 kolejnych wierszy bez dopasowań) to:
$ grep -B 9999 -A 9999 test test

Jeśli grepnie można tego osiągnąć, czy istnieje inne narzędzie wiersza polecenia, które oferuje tę samą funkcjonalność? Bawiłem się ack, ale wydaje się, że nie ma na to również opcji.
-C 9999zamiast. -A 9999 -B 9999Zawsze robię:grep -C 9999 pattern file