wake-up-neo.net

Löschen Sie den node_modules-Ordner mithilfe der Befehlszeile rekursiv aus einem angegebenen Pfad

Ich habe mehrere npm-Projekte in einem lokalen Verzeichnis gespeichert. Jetzt möchte ich ein Backup meiner Projekte ohne den node_modules-Ordner erstellen, da dieser viel Speicherplatz beansprucht und auch jederzeit mit npm install abgerufen werden kann.

Ich brauche also eine Lösung, um alle node_modules-Ordner über die Befehlszeilenschnittstelle rekursiv aus einem angegebenen Pfad zu löschen. __ Anregungen/Hilfe ist sehr nützlich.

36
Sumit

Ursprüngliche Antwort:

find . -name 'node_modules' -type d -Prune -exec rm -rf '{}' +

Alternativ können Sie trash (npm install --global trash-cli) zum Löschen verwenden:

find . -name node_modules -type d -Prune -exec trash {} +
80
Darius M.

Ich bin mit dieser Lösung gekommen,

  • suchen Sie zuerst den Ordner mit find und geben Sie den Namen des Ordners an.
  • löschbefehl rekursiv ausführen -exec rm -rf '{}' +

führen Sie den folgenden Befehl aus, um Ordner rekursiv zu löschen

find /path -type d -name "node_modules" -exec rm -rf '{}' +

7
Sumit

Verbesserung der akzeptierten Antwort,

find . -name 'node_modules' -type d -Prune -exec rm -rf '{}' +

Ich fand heraus, dass der Befehl sehr lange ausgeführt würde, um alle Ordner abzurufen und dann einen Löschbefehl auszuführen. Um den Befehl wieder verfügbar zu machen, würde ich vorschlagen, \; zu verwenden. Um den Fortschritt des ausgeführten Befehls anzuzeigen, verwenden Sie -print, um das gelöschte Verzeichnis anzuzeigen .

Hinweis: Sie müssen zuerst cd in das Stammverzeichnis eingeben und dann den Befehl ausführen oder anstelle von find .find {project_directory} verwenden.

Ordner einzeln löschen

find . -name 'node_modules' -type d -Prune -exec rm -rf '{}' \;

Ordner einzeln löschen und den zu löschenden Ordner drucken

find . -name 'node_modules' -type d -Prune -print -exec rm -rf '{}' \;
5
Sidharth

Das funktioniert wirklich gut

find . -name "node_modules" -exec rm -rf '{}' +
0
Ankit Sinha