LinuxParty
Esta es la pregunta...
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/*"