LinuxParty

NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.

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/*"

Pin It

Escribir un comentario


Código de seguridad
Refescar