Welchen Befehl kann ich in das Terminal eingeben, um alle .svn
Ordner in einem Ordner (und aus allen Unterverzeichnissen) zu löschen, aber nichts anderes?
macos
svn
terminal.app
Mikey
quelle
quelle
svn export path/to/repo path/to/export/to
stattdessen ...svn export
ist, dass nicht über Dateien kopiert wird, die nicht Teil von svn sind. Ich wollte dies zum Beispiel für eine iOS-Anwendung tun, die Cocoa Pods verwendet, wobei wir den Pods-Ordner nicht festschreiben. Dies wurde dann von der Ausgabe übersprungen. Am Ende habe ich etwas Ähnliches wie Richs Antwort für das verwendet, was ich wollte.Antworten:
rm -rf (thing found from find)
. Das {} ist ein Platzhalter für die gefundene Entitätquelle
find
hat-delete
wird es nicht nicht-leere Verzeichnisse löschen. Dieser Ansatz ist sauberer, als z. B. Teile des gesamten Dateipfads abzugleichen.-exec rm -rf {} \;
erste Mal auszuführen, um sicherzustellen, dass es nur das findet, was Sie wollen. Ich hatte noch nie ein Problem, bei dem ich versehentlich das Falsche gelöscht habe, weil ich immer zuerst nachschaue.-exec rm -ri {} \;
-exec rm -rf {} +
ist wahrscheinlich um ein Vielfaches schneller, da nicht zu vielerm
Instanzen gestartet werden müssen. Stattdessen wird die maximale Anzahl von Argumenten (in diesem Fall zu entfernende Verzeichnisse) in einem Aufruf gepackt. Dies ist möglich, weilrm
mehrere Argumente akzeptiert werden.