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.

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado
 

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

No estás registrado para postear comentarios



Redes:



   

 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Formulario de acceso

Filtro por Categorías