GNU encuentra archivos eliminados dentro de un directorio pero conserva el directorio en sí

GNU encuentra archivos eliminados dentro de un directorio pero conserva el directorio en sí

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_modulesmanteniendo node_modules:

find . -path  '*/node_modules/*' -delete

(Esto se probó con GNU findpero espero que BSD/OSX findse comporte de manera similar).

Ejemplo

Creemos un node_modulesdirectorio con algunos archivos en él:

$ mkdir -p node_modules/dir{1..3}
$ touch node_modules/file{1..3}

Ahora, veamos qué archivos finddevuelve 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_modulesperonoel node_modulesdirectorio mismo. Así, podemos eliminar los archivos con:

$ find . -path  '*/node_modules/*' -delete
$ ls
node_modules

información relacionada