Sometimes you want to just nuke node_modules
black holes with an old-fashioned rm -r
. But if you try find
-ing these node_modules
, you'll notice that there are, in fact, black holes within black holes.
1find . -iname node_modules
2./api/mock-openai-api/node_modules
3./api/mock-openai-api/node_modules/@types/express-serve-static-core/node_modules
4./api/mock-openai-api/node_modules/@types/body-parser/node_modules
5./api/mock-openai-api/node_modules/@types/serve-static/node_modules
6./api/mock-openai-api/node_modules/@types/connect/node_modules
7./api/mock-openai-api/node_modules/@types/send/node_modules
8./api/mock-openai-api/node_modules/touch/node_modules
9./api/mock-openai-api/node_modules/ts-node/node_modules
10./api/mock-openai-api/node_modules/simple-update-notifier/node_modules
11./api/mock-openai-api/node_modules/nodemon/node_modules
12./api/mock-openai-api/node_modules/send/node_modules
13./api/mock-openai-api/node_modules/debug/node_modules
Thankfully we have -prune
for this specific case.
1find . -iname node_modules -prune
2./api/mock-openai-api/node_modules
-prune
This primary always evaluates to true. It causesfind
to not descend into the current file. Note, the-prune
primary has no effect if the-d
option was specified.
This description honestly didn't make sense to me. I found about -prune
while using fd
- a modern alternative to find
. It also has a --prune
argument that has a way better description.
--prune
Do not traverse into matching directories.
1fd -I node_modules --prune
2api/mock-openai-api/node_modules