que para opción imprime ignorar directorio cuál crear comando carpetas autor archivo shell find

shell - para - ignorar carpetas en git



Busque e imprima rápidamente todos los archivos en una carpeta, recursivamente, excluyendo los de `node_modules` y`.git` (1)

Para excluir archivos solo directamente de la carpeta de la búsqueda:

find . -not /( -path ''./.git'' -prune /) -not /( -path ''./node_modules'' -prune /) -type f

Si desea excluir ciertas rutas que están en subcarpetas , puede hacerlo también con * comodín.

Digamos que también tiene node_modules dentro de stuff1 y stuff2 , y además carpetas dist y lib :

find . -not /( -path ''./.git'' -prune /) -not /( -path ''./node_modules'' -prune /) -not /( -path ''./*/node_modules'' -prune /) -not /( -path ''./*/dist'' -prune /) -not /( -path ''./*/lib'' -prune /) -type f

Probado en Windows usando git bash 1.9.5

Sin embargo, parece que no funciona correctamente en Windows cuando se pasa un filtro como -name ''*.js'' . La solución podría ser no usar -name y pipe to grep lugar.

Felicitaciones a @Daniel C. Sobral

Considere la siguiente estructura de carpetas comenzando en alguna carpeta raíz

/root/ /root/.git /root/node_modules /root/A/ /root/A/stuff1/ /root/A/stuff2/ /root/A/node_modules/ /root/B/ /root/A/stuff1/ /root/A/stuff2/ /root/B/node_modules/ ...

Ahora estoy en /root y me gustaría encontrar todos mis archivos dentro de él. Tengo un pequeño número de mis propios archivos y la gran cantidad de archivos dentro de node_modules y .git .

Por eso, atravesar node_modules y filtrarlo es inaceptable, ya que lleva demasiado tiempo. Quiero que el comando nunca entre en la carpeta node_modules o .git .