J'essaie de trouver des fichiers contenant un mot spécifique en utilisant grep
. Il y a beaucoup de fichiers dans le répertoire (> 500)
Commande que j'exécute
$ grep 'delete' *
Production
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
Ce sont les fichiers qui ne contiennent pas la correspondance donnée. Je veux supprimer ces lignes de l'affichage à stdout. Je connais le -q
commutateur, mais cela supprimerait la sortie complète, ce que je ne veux pas.
Comment je fais ça?
grep 'delete' * -R
, mais je ne pense pas que cela -R
cause de problème. Et oui, il n'imprime normalement pas ceux qui ne correspondent pas, mais
grep -- 'delete' *
(ajouté --
) et cela a fonctionné comme prévu. La suppression du --
conduit à l'affichage ci-dessus.
-ci
. Merci d'avoir résolu le problème. Vous pouvez publier ce scénario comme réponse.
grep
ne doit pas imprimer les noms de fichiers des fichiers non correspondants. En fait, il ressemble àgrep
une ligne dont le contenu0
correspond. Pouvez-vous publier le modèle de recherche exact que vous utilisez?