GNU/Linux >> Tutoriels Linux >  >> Linux

Rechercher le répertoire d'exclusion ?

Je suis sous Linux (Ubuntu) et je souhaite exclure certains répertoires (comme .hg) lorsque je fais un

find | less  

J'ai essayé ce qui suit pour exclure le répertoire .hg de la liste, mais cela ne semble pas fonctionner.

find -type d ( ! -iname .hg )
find -type d ( ! -name .hg )
find -type d ( ! -iname .hg )

Comment puis-je exclure .directory dans une commande de recherche

Réponse acceptée :

Sur la recherche d'une find similaire solution J'ai découvert l'explication utile sur Comment utiliser l'option '-prune' de 'trouver' dans sh? par Laurence Gonsalves.

Vous pouvez utiliser quelque chose comme :

find . ( -type d -name .hg -prune ) -o ( -type f -name "foo" -print )

ou (sans le nom)

find . ( -type d -name .hg -prune ) -o ( -type f -print )

Les parenthèses (échappées) ( et ) regrouper les tests (type et name ) et les actions correspondantes (prune et print , respectivement) ensemble à gauche et à droite du OU (-o ).

Depuis -o a une priorité inférieure à la juxtaposition, vous pouvez omettre les parenthèses si vous le souhaitez. Beaucoup find les implémentations vous permettent également de sauter le dernier -print .

find . -type d -name .hg -prune -o -type f -name "foo" -print

Linux
  1. Exclure le répertoire dans Rechercher ?

  2. Exclure les chemins qui obligent Find à se plaindre des autorisations ?

  3. Copier les premiers fichiers N dans un répertoire différent ?

  4. Comment exclure un répertoire dans find . commande

  5. Comptage récursif des fichiers dans un répertoire Linux

Comment compter les fichiers dans le répertoire sous Linux

Comment exclure un répertoire lors de la recherche de fichiers sous Linux

La commande Linux find Directory :Explication

Comment puis-je exclure un répertoire de la commande ls

Trouver un répertoire dans un terminal Linux

Nombre de fichiers dans chaque sous-répertoires