Я намагаюся знайти файли, що містять певне слово, використовуючи 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
відповідає. Чи можете ви розмістити точний шаблон пошуку, який ви використовуєте?