Find : ne pas inclure les sous répertoires ?
Résolu
duddy67
-
duddy67 -
duddy67 -
A voir également:
- Find : ne pas inclure les sous répertoires ?
- Find and mount - Télécharger - Récupération de données
- Ava find - Télécharger - Divers Utilitaires
- Find junk files - Télécharger - Nettoyage
- Couldn't find ds menu.dat ✓ - Forum Jeux vidéo
- Find grep - Forum Linux / Unix
2 réponses
Salut,
$ find duddy67/ -name '*.txt' | sort duddy67/dir1/fic1.txt duddy67/dir1/fic2.txt duddy67/dir1/fic3.txt duddy67/dir1/fic4.txt duddy67/dir1/fic5.txt duddy67/dir1/fic6.txt duddy67/dir2/fic1.txt duddy67/dir2/fic2.txt duddy67/dir2/fic3.txt duddy67/dir3/fic1.txt duddy67/dir3/fic2.txt duddy67/dir3/fic3.txt $ find duddy67/ -path 'duddy67/dir2' -prune -o -name '*.txt'|sort duddy67/dir1/fic1.txt duddy67/dir1/fic2.txt duddy67/dir1/fic3.txt duddy67/dir1/fic4.txt duddy67/dir1/fic5.txt duddy67/dir1/fic6.txt duddy67/dir2 duddy67/dir3/fic1.txt duddy67/dir3/fic2.txt duddy67/dir3/fic3.txt $ find duddy67/dir1 -path 'duddy67/dir2' -prune -o -name '*.txt' -exec mv -v {} duddy67/dir3 \; `duddy67/dir1/fic5.txt' -> `duddy67/dir3/fic5.txt' `duddy67/dir1/fic1.txt' -> `duddy67/dir3/fic1.txt' `duddy67/dir1/fic6.txt' -> `duddy67/dir3/fic6.txt' `duddy67/dir1/fic3.txt' -> `duddy67/dir3/fic3.txt' `duddy67/dir1/fic4.txt' -> `duddy67/dir3/fic4.txt' `duddy67/dir1/fic2.txt' -> `duddy67/dir3/fic2.txt' $ find duddy67/ -name '*.txt' | sort duddy67/dir2/fic1.txt duddy67/dir2/fic2.txt duddy67/dir2/fic3.txt duddy67/dir3/fic1.txt duddy67/dir3/fic2.txt duddy67/dir3/fic3.txt duddy67/dir3/fic4.txt duddy67/dir3/fic5.txt duddy67/dir3/fic6.txt
Salut,
Utilises plutôt l'option "-maxdepth n" :
Par exemple pour exclure le rep "dir2" de ta recherche :
Utilises plutôt l'option "-maxdepth n" :
find /path/dir1 -maxdepth 1 -name '*.txt' -exec mv {} /path/dir1/dir2 \; 2>/dev/nullL'option "-prune" étant beaucoup plus complexe qu'elle n'en a l'air à utiliser et n'a pas du tout l'utilité de la description faite par le "man find".
Par exemple pour exclure le rep "dir2" de ta recherche :
find /path/dir1 \( -name dir2 -prune \) -o \( -name '*.txt' \) -exec mv {} /path/dir1/dir3 \; 2>/dev/nulldevrait le faire...