Zum Inhalt springen

Löschbefehl

Mac Terminal: Dateien in Unterverzeichnissen löschen

TerminalBezugnehmend auf den Post mit dem iPhoto-Export, möchte ich dazu noch ein Terminal Skript euch ans Herz legen, welches ihr vielleicht gut brauchen könnt.
Als der Export von iPhoto auf die externe Festplatte erledigt war, musste ich feststellen, dass der JAlbum-Exporter in jedes einzelne Verzeichnis ein paar Dateien legte, die ich nicht wirklich haben wollte und in meinen Augen auch unnütz waren. So zum Beispiel „comments.properties“ oder „albumfiles.txt“.
Ich wollte diese Dateien aus allen Unterverzeichnissen löschen und suchte dafür einen praktikablen Weg. Im Terminal mit dem rm-Befehl stieß ich sehr schnell an meine Grenzen. Nächste Idee war dann, dass ich einen Workflow mit dem Automator mir bastle. Ich war eigentlich der Meinung, dass ich dort alles richtig gemacht hätte, doch beim Löschen der betreffenden Dateien, bekam ich immer eine Fehlermeldung, dass ich nicht die benötigen Rechte dafür hätte.  Also war das auch nix.

Ich hab dann ein einzeiliges Terminal-Skript im Internet gefunden, welche dann diese Aufgabe mit Bravour erledigt hat und dieses möchte ich euch nicht vorenthalten.
Gefunden auf: http://www.mactricks.de/de/Betriebssystem/Linux/recursive-delete/

find . -type f -name albumfiles.txt -exec rm {} \;

Obigen Befehl kopiert ihr euch einfach ins Terminal, wenn ihr euch schon im „Hauptverzeichnis“ eurer Verzeichnis-Struktur befinden. In meinem Fall, wollte ich alle Dateien löschen, die sich „albumfiles.txt“ nannten. Diese Passage könnt ihr einfach durch den Dateinamen ersetzen, der für euch passend ist.

Ihr könnt aber auch mit Platzhalter arbeiten und Dateien löschen, die mit einen bestimmten Anfang im Namen haben. So zum Beispiel alles, was mit „._“ anfängt, fügt ihr im Terminalbefehl mit „._*“ ein.

find . -type f -name ._* -exec rm {} \;