Estoy en Linux (Ubuntu) y me gustaría excluir ciertos directorios (como .hg) cuando estoy haciendo un
find | less
Intenté lo siguiente para excluir el directorio .hg de la lista, pero parece que no funciona.
find -type d ( ! -iname .hg )
find -type d ( ! -name .hg )
find -type d ( ! -iname .hg )
¿Cómo excluyo .directory
? en un comando de búsqueda
Respuesta aceptada:
Sobre la búsqueda de un find
similar solución Descubrí la explicación útil sobre ¿Cómo usar la opción '-prune' de 'buscar' en sh? de Laurence Gonsalves.
Podrías usar algo como:
find . ( -type d -name .hg -prune ) -o ( -type f -name "foo" -print )
o (sin el nombre)
find . ( -type d -name .hg -prune ) -o ( -type f -print )
Los paréntesis (de escape) (
y )
agrupar las pruebas (type
y name
) y las acciones correspondientes (prune
y print
, respectivamente) juntos a la izquierda y a la derecha del OR (-o
).
Desde -o
tiene menor precedencia que la yuxtaposición, puede omitir los paréntesis si lo desea. Muchos find
las implementaciones también le permiten omitir el -print
final .
find . -type d -name .hg -prune -o -type f -name "foo" -print