
Passei a maior parte da tarde tentando descobrir isso.
Responder1
Para excluir todos os arquivos de qualquer diretório que esteja abaixo do atual e tenha um nome, node_modules
mantendo node_modules
:
find . -path '*/node_modules/*' -delete
(Isso foi testado com GNU, find
mas espero que o BSD/OSX find
se comporte de forma semelhante.)
Exemplo
Vamos criar um node_modules
diretório com alguns arquivos:
$ mkdir -p node_modules/dir{1..3}
$ touch node_modules/file{1..3}
Agora, vamos ver quais arquivos esse find
comando retorna:
$ find . -path '*/node_modules/*'
./node_modules/dir3
./node_modules/dir1
./node_modules/file3
./node_modules/file2
./node_modules/file1
./node_modules/dir2
Isso mostra os arquivosdentro node_modules
masnãoo node_modules
próprio diretório. Assim, podemos deletar os arquivos com:
$ find . -path '*/node_modules/*' -delete
$ ls
node_modules