web-dev-qa-db-fra.com

"grep -rnw": recherche une chaîne dans tous les fichiers

Question connexe: Comment trouver tous les fichiers contenant du texte spécifique sur Linux?

J'ai utilisé la commande mentionnée dans la réponse à la question ci-dessus pour rechercher des occurrences de chaîne dans tous les fichiers:

grep -rnw '/path/to/somewhere/' -e "pattern"

Cependant, récemment, j'ai rencontré un problème, illustré dans l'image suivante: enter image description here

On dirait que cette commande ne reconnaît que les chaînes qui se distinguent comme un mot ou quelque chose. Comment dois-je modifier la commande pour améliorer mes résultats de recherche?

12
shenkwen

explique la coque explique utilement votre commande et donne un extrait de man grep:

   -w, --Word-regexp
          Select  only  those  lines  containing matches that form whole words. 

Il suffit donc de supprimer -w puisque cela fait explicitement ce que vous ne voulez pas:

grep -rn '/path/to/somewhere/' -e "pattern"
19
that other guy