Blog de Robert Sebille

Image d'en-tête 
 
 
 

Accueil du site    Howtos    Chercher des fichiers de plus de Xk dans une arborescence de répertoires en excluant certains répertoires  
 
 
 
 
 
 
 
 
Télécharger Firefox
 
Télécharger Firefox
| Technique: -exec , find  |
 

Chercher des fichiers de plus de Xk dans une arborescence de répertoires en excluant certains répertoires

par Robert Sebille - publie le 17 janvier 2012

Soit l’arborescence suivante :

racine
0000_rep1
sous-répertoires ...
0000_rep2
sous-répertoires ...
ABCD_rep1
sous-répertoires ...
0025_rep1
sous-répertoires ...
EFGH_rep1
sous-répertoires ...

On souhaite rechercher tous les fichiers de plus de 800K dans toute l’arborescence, à l’exclusion des répertoires 0000_rep1, 0000_rep2, ABCD_rep1 et de leurs sous-répertoires. Voici la ligne de commande :

cd racine
find . -path './0000_*' -prune -o -path './ABCD_*' -prune -o -type f -size +800k -exec ls -lah '{}' \;

-path motif reconnait un fichier dont le nom correspond à motif fourni
-prune indique ne pas descendre dans l’arborescence du répertoire en cours
-path ’./0000_*’ -prune indique donc de ne pas suivre l’arborescence des répertoires débutant par ’0000_’

expr1 -o expr2 OU ; expr2 n’est pas évaluée si expr1 est vraie.
Autrement dit, dans l’exemple :

- Si -path ’./0000_*’ -prune trouve répertoire débutant par ’0000_’, find s’arrête là,

- sinon, on évalue si -path ’./ABCD_*’ -prune trouve répertoire débutant par ’ABCD_’, si oui, find s’arrête là,

- sinon on continue la suite des paramètres du find

-type f cherche un fichier
-size +800k cherche des fichiers de + de 800k (pour les différents arguments de find, voir le man de find)
-exec ls -lah exécute la commande ’ls -lah’.
La chaîne '{}' est remplacée par le nom du fichier en cours de traitement. Cette chaîne doit être protégée par le caractère d’échappement ’\’.
’ ;’ cloture les arguments de -exec


redacteur spip:   0. Robert
--> Répondre à cet article
 
liste des sujets - 0 sujet(s) et 0 contribution(s) au total dans ce forum.
 

 

La bannière de l'entête provient du site Images anciennes du Canada