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