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 find
Tool:
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 -delete
Option. 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