J'ai une commande Je veux sauter le Comment puis-je empêcher le sauté "code> .git code> répertoires de
Impression sur la sortie standard? P> P> trouver code> que je fonctionne pour rechercher des fichiers dont les noms contiennent foo code>. .git code>. annuaire. La commande ci-dessous fonctionne .git code> tout moment il saute un .git code> répertoire: p>
3 Réponses :
Essayez celui-ci:
find . ( -name .git ) -prune -printf '' -o -name '*foo*' -print
Ok - j'ai constaté que je n'ai pas besoin de mettre le -printf '' - Je n'ai que je n'ai que de mettre le -print à l'arrière du commandement! Par exemple, cela fonctionne: trouver. (-Name .git) -Prune -O -Name ' foo i>' -Ilt Merci!
Utiliser un grep après la recherche est un mauvais tour pour de nombreuses raisons. Envisagez d'utiliser les options intégrées dans la recherche de filtrage
Comme @TONIHOMEDESAUNAnONNONNAUNEAUN, en utilisant grep code> est une solution médiocre - notamment parce que l'exemple que vous donnez ignorera tous les fichiers correspondant à la chaîne .git code> - pas seulement répertoires. Le pure Recherche code> n'est pas spécifique aux répertoires, d'ignorer les fichiers nommés .git code>
trouver. (-Name .git) -Prune -False -O -Name '* FOO *' code> fonctionne pour moi
donc juste pour une meilleure visibilité: omet également des fichiers .gitignore; Notez la trailing
Voici comment trouver des annuaires: trouver. -Name '.git *' -PRune -O -Oname '* FOO *' -MAXDEPTH 4 -TYPE D -PRINT
find . -not \( -wholename "./.git" -prune \) -name "*foo*"
La syntaxe
(-Name .git) code> n'a aucun sensDroite - je pense que ça devrait être \ (-Name .git \), correct?
Voir aussi Cette réponse et remplacez "svn" avec "git".