
Ich habe den größten Teil eines Nachmittags damit verbracht, das herauszufinden.
Antwort1
So löschen Sie alle Dateien in einem beliebigen Verzeichnis, das sich unter dem aktuellen befindet und den Namen hat, und node_modules
behalten dabei Folgendes bei node_modules
:
find . -path '*/node_modules/*' -delete
(Dies wurde mit GNU getestet find
, aber ich gehe davon aus, dass sich BSD/OSX find
ähnlich verhalten.)
Beispiel
Lassen Sie uns ein node_modules
Verzeichnis mit einigen Dateien darin erstellen:
$ mkdir -p node_modules/dir{1..3}
$ touch node_modules/file{1..3}
Sehen wir uns nun an, welche Dateien dieser find
Befehl zurückgibt:
$ find . -path '*/node_modules/*'
./node_modules/dir3
./node_modules/dir1
./node_modules/file3
./node_modules/file2
./node_modules/file1
./node_modules/dir2
Hier werden die Dateien angezeigtinnen node_modules
Abernichtdas node_modules
Verzeichnis selbst. Somit können wir die Dateien löschen mit:
$ find . -path '*/node_modules/*' -delete
$ ls
node_modules