Si vous voulez exclure un chemin d'accès, vous devez le faire correspondre correctement dans le fichier -path
option. L'option vous demande d'écrire un chemin d'accès complet, y compris le préfixe du chemin absolu, donc il suffit de /2012/
n'est pas suffisant.
find /home/myid/dir-with100directories/ -mmin -5 \
-not -path '/home/myid/dir-with100directories/2012/*'
Ou :
cd /home/myid/dir-with100directories/
find . -mmin -5 -not -path './2012/*'
Si vous voulez exclure tout dossier dont le nom est 2012
en elle - avec GNU find
:
cd /home/myid/dir-with100directories/
find . -regextype posix-extended -not -regex '.*/2012\(/.*\)?'
Ou, pour élaguer les répertoires portant le nom de 2012
:
cd /home/myid/dir-with100directories/
find . -type d -and -name '2012' -prune -o -print
Ce qui précède imprimera tout le reste comme une action (voir aquí pour plus d'informations).
Si vous utilisez Bash, vous pouvez ignorer l'option 2012
tout de suite :
shopt -s extlob
find /home/myid/dir-with100directories/!(2012) -mmin -5
La même idée avec Zsh :
setopt extendedglob
find /home/myid/dir-with100directories/^2012 -mmin -5