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 -qprzełą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 -Rpowoduje 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ź.
grepnie powinien wypisywać nazw niepasujących plików. W rzeczywistości wygląda na to, żegrepuważa linię z treścią0za pasującą. Czy możesz opublikować dokładny wzór wyszukiwania, którego używasz?