Próbuję znaleźć pliki zawierające określone słowo za pomocą grep
. W katalogu znajduje się wiele plików (> 500)
Polecenie uruchamiam
$ grep 'delete' *
Wynik
validate_data_stage1:0
validate_data_stage2:0
validate_data_stage3:0
validate_data_stage4:0
validate_data_stage5:0
validate_input_stage1:0
validate_input_stage2:0
validate_input_stage3:0
validate_input_stage4:0
.... and hundred of such lines
Są to pliki, które nie zawierają podanego dopasowania. Chcę ukryć wyświetlanie tych linii na standardowym. Wiem o -q
przełączniku, ale to tłumiłoby pełne wyjście, czego nie chcę.
Jak mogę to zrobić?
grep 'delete' * -R
, ale nie sądzę, że -R
powoduje to żadnego problemu. I tak, normalnie nie drukuje tych niepasujących, ale nie jestem pewien, co się tutaj dzieje ...
grep -- 'delete' *
(dodałem --
) i działało zgodnie z oczekiwaniami. Usunięcie --
prowadzi do powyższego ekranu.
-ci
. Dziękujemy za rozwiązanie problemu. Możesz opublikować ten scenariusz jako odpowiedź.
grep
nie powinien wypisywać nazw niepasujących plików. W rzeczywistości wygląda na to, żegrep
uważa linię z treścią0
za pasującą. Czy możesz opublikować dokładny wzór wyszukiwania, którego używasz?