Si desea excluir una ruta, debe hacer que coincida correctamente en la -path
opción. La opción requiere que escriba una ruta totalmente coincidente, incluido el prefijo de ruta absoluta, por lo que simplemente /2012/
no es suficiente.
find /home/myid/dir-with100directories/ -mmin -5 \
-not -path '/home/myid/dir-with100directories/2012/*'
O:
cd /home/myid/dir-with100directories/
find . -mmin -5 -not -path './2012/*'
Si desea excluir cualquier carpeta con el nombre 2012
, con GNU find
:
cd /home/myid/dir-with100directories/
find . -regextype posix-extended -not -regex '.*/2012\(/.*\)?'
O, para podar directorios con el nombre 2012
:
cd /home/myid/dir-with100directories/
find . -type d -and -name '2012' -prune -o -print
Lo anterior imprimirá todo lo demás como una acción (ver aquí para más información).
Si usa Bash, puede omitir un 2012
directorio de inmediato:
shopt -s extlob
find /home/myid/dir-with100directories/!(2012) -mmin -5
La misma idea con Zsh:
setopt extendedglob
find /home/myid/dir-with100directories/^2012 -mmin -5