Comment ignorer certains noms de fichiers en utilisant "find" ?
L'une de mes commandes BASH préférées est :
find . -name '*.*' -exec grep 'SearchString' {} /dev/null \;
qui recherche le contenu de tous les fichiers à l'intérieur et en dessous du répertoire courant pour la chaîne de recherche spécifiée. En tant que développeur, cela s'est avéré parfois utile.
En raison de mon projet actuel, et de la structure de ma base de code, j'aimerais cependant rendre cette commande BASH encore plus avancée en ne recherchant aucun fichier qui se trouve dans ou sous un répertoire contenant “.svn”, ou aucun fichier qui se termine par “.html”
La page MAN de recherche m'a cependant un peu embrouillé. J'ai essayé d'utiliser -prune, et cela m'a donné un comportement étrange. Pour essayer de ne sauter que les pages .html (pour commencer), j'ai essayé :
find . -wholename './*.html' -prune -exec grep 'SearchString' {} /dev/null \;
et n'ai pas obtenu le comportement que j'espérais. Je pense que je passe peut-être à côté de -prune. Pourriez-vous m'aider ?
Merci