I am trying to find files containing a specific word using grep. There are many files in the directory (> 500)
Command I run
$ grep 'delete' *
Output
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
These are the files that don't contain the given match. I want to suppress those lines from displaying to stdout. I know of -q switch, but that would suppress the complete output, which I don't want.
How do I do that?

grepshould not print out file names of non-matching files. Actually, it looks likegrepconsiders a line with the content0to be matching. Can you post the exact search pattern you are using? – Adrian Lang Nov 22 '12 at 9:31grep 'delete' * -R, but I don't think-Ris causing any issue. And yes, it normally doesn't print the non-matching ones, but not sure what's the case here... – mtk Nov 22 '12 at 9:40grep -- 'delete' *(added--) and it worked as expected. Removing the--is leading to the above display. – mtk Nov 22 '12 at 11:50-ci. Thanks for resolving the issue. You can post this scenario as an answer. – mtk Nov 22 '12 at 13:29