LinuxParty
Buscando con el comando find, puede que no queramos incluir algunos directorios en esa búsqueda, la razón principal para excluir la búsqueda, es porque se sabe o conoce que ahí, no están los ficheros que deseamos encontrar, por lo que lo más seguro es descartar la ruta, para acelerar la búsqueda y se más clara y concisa el resultado de la búsqueda. Vamos a poner algunos ejemplos.
Estoy buscando archivos de tipo 'test*' dentro de un repositorio. Dado que tengo un virtualenv, cada vez que hago find -name 'test*'
me encuentra muchos archivos de los módulos que tengo instalados.
find -name 'test*'
Devuelve muchas cosas del tipo:
./env/lib/python3.5/site-packages/paquete/utils/tests
¿Cómo puedo excluir un directorio y todo su contenido de los resultados de find?
Debes utilizar la sintaxis -not -path
para indicar el directorio a excluir:
find -name 'test*'-not -path "./env/*"
Nótese que al escribir el directorio debes añadir un asterisco para que interprete que es todo su contenido. Esto es, find -name 'test*' -not -path "./env/"
solo excluirá el directorio, mientras que "./env/*"
excluirá todo su contenido (recursivamente).
Como siempre, recuerda que la opción -type
te permite restringir por tipo: archivo, directorio... Por ejemplo, esto buscará solamente los archivos:
find -type f -name 'test*'-not -path "./env/*"

-
CentOS
- Publicado CentOS Linux, 5.5
- El Perfecto Servidor - CentOS 5.5 x86_64 [ISPConfig 3]
- Configuración de un servidor y cliente NFS en CentOS 5.5
- El Perfecto Servidor - CentOS 5.6 x86_64 [ISPConfig 3]
- Instalar Zimbra Collaboration Suite 7 en CentOS 5.x (64Bit)
- Usar e Instalar OpenVZ en CentOS 5.6
- Microsoft dará soporte de CentOS Linux en Hyper-V
- Paravirtualización con Xen en CentOS 5.6 (x86_64)
- PowerStack, últimas versiones de LAMP en CentOS
- Instalar Lighttpd con PHP5 y MySQL en CentOS 5.6
- El Servidor Perfecto - CentOS 6.0 x86_64 [ISPConfig 3]
- Instalar y utilizar OpenVZ en CentOS 6.0