
He pasado la mayor parte de la tarde tratando de resolver esto.
Respuesta1
Para eliminar todos los archivos dentro de cualquier directorio que esté bajo el actual y tenga nombre node_modules
manteniendo node_modules
:
find . -path '*/node_modules/*' -delete
(Esto se probó con GNU find
pero espero que BSD/OSX find
se comporte de manera similar).
Ejemplo
Creemos un node_modules
directorio con algunos archivos en él:
$ mkdir -p node_modules/dir{1..3}
$ touch node_modules/file{1..3}
Ahora, veamos qué archivos find
devuelve este comando:
$ find . -path '*/node_modules/*'
./node_modules/dir3
./node_modules/dir1
./node_modules/file3
./node_modules/file2
./node_modules/file1
./node_modules/dir2
Esto muestra los archivosadentro node_modules
peronoel node_modules
directorio mismo. Así, podemos eliminar los archivos con:
$ find . -path '*/node_modules/*' -delete
$ ls
node_modules