Mac – alle Dateien mit einer bestimmten Erweiterung aus einem Verzeichnisbaum entfernen

Mac – alle Dateien mit einer bestimmten Erweiterung aus einem Verzeichnisbaum entfernen

Mögliches Duplikat:
Rekursives Löschen von Dateien, die einem Namen in der Befehlszeile entsprechen (OS X)

Ich möchte alle Dateien mit der Erweiterung .orig aus meinem Baum entfernen. Der Baum ist tief. Gibt es eine einfache Möglichkeit, das zu tun?

Ich werde dies wahrscheinlich mehrmals am Tag mit verschiedenen Bäumen tun müssen. Daher ist die Einfachheit wichtig.

Antwort1

Verwenden Sie das findTool:

find /path -name '*.orig' -delete

Beachten Sie, dass das Platzhalterzeichen in Anführungszeichen gesetzt werden muss (entweder als "*.orig"oder '*.orig'oder \*.orig), da es nur von „find“, nicht aber von der Shell verarbeitet werden soll.

Einige Betriebssysteme verfügen möglicherweise nicht über diese -deleteOption. In diesem Fall rufen Sie Folgendes auf rm:

find /path -name "*.orig" -exec rm -i {} \;

Antwort2

Ich bevorzuge diese Methode (sehr ähnlich zu @grawity), aber mit dem eingeschlossenen Typ file:

find /path . -name '*.orig' -type f -delete

Antwort3

Können Sie Shell-Befehle in Bash ausführen? Das hier würde funktionieren:

find /path/to/your/tree | egrep .orig$ | xargs rm

verwandte Informationen