Я пытаюсь найти файлы, содержащие определенное слово, используя grep. В каталоге много файлов (> 500)
Команда я бегу
$ grep 'delete' *
Вывод
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
Это файлы, которые не содержат данное совпадение. Я хочу, чтобы эти строки не отображались в stdout. Я знаю о -qпереключателе, но это подавило бы полный вывод, который я не хочу.
Как я могу это сделать?
grep 'delete' * -R, но я не думаю, что -Rэто вызывает какие-либо проблемы. И да, обычно он не печатает несоответствующие, но не уверен, что здесь происходит ...
grep -- 'delete' *(добавил --), и это сработало, как ожидалось. Удаление --ведет к приведенному выше дисплею.
-ci. Спасибо за решение проблемы. Вы можете опубликовать этот сценарий в качестве ответа.
grepне следует распечатывать имена файлов несоответствующих файлов. На самом деле, похоже, чтоgrepстрока с контентом0совпадает. Можете ли вы опубликовать точный шаблон поиска, который вы используете?