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