web-dev-qa-db-fra.com

Comment trouver (ou exclure) tous les annuaires et sous-annuaires correspondant à un certain motif (sous Linux)?

J'essaie d'utiliser la commande Linux Trouver pour trouver tous les répertoires et sous-répertoires qui n'ont pas de .svn (Dossiers cachés Subversion) sur leur chemin. Je ne peux que l'obtenir pour exclure les répertoires .svn eux-mêmes, mais pas l'un des sous-répertoires.

Voici ce que je fais en ce moment:

find . -type d \! -iname '*.svn*'

J'ai aussi essayé:

find . -type d \! iname '.svn' \! iname '.svn/*'

Juste un FYI, j'essaie d'utiliser le modèle de recherche afin que je puisse appliquer certaines propriétés de subversion à tous les répertoires de mon référentiel, à l'exclusion des dossiers cachés de Subversion et de leurs sous-répertoires (en appliquant la commande EXEC vers les répertoires renvoyés à partir de la commande de recherche. ) ..

Tia

17
Jason Down
find . -type d -not \( -name .svn -Prune \)
25
Dan Carley

Qu'en est-il de simplement

find . -type d |  grep -v '.svn'
6
wazoox

Que dire de la -path Option de trouver?

find . -type d ! -path '*.svn*'
6
Rory

Vous pouvez utiliser:

find . -type d -not -wholename '*.svn*' 
2
TechFriend

trouve . -Path './tmp' -Prune -o .......

2
Cameron