Das hier müsste alle files finden welche mit "DS_Store" enden und zwecks der Sicherheit nur echo "rm <filename>" darauf ausführen. Anpassung auf wirkliches löschen dürfte kein Problem sein.
Bitte selber noch testen das ist nur schnell zusammengeschustert.
Code:find -type f -name "*DS_Store" -exec echo "rm -v {}" \;
Ergebnis 1 bis 10 von 20
- 14.04.2010, 20:07 #1
.DS_Stores löschen
Hallöchen. Ich möchte mal meine gesamten Ordner umstrukturieren und will daher auf einen Schlag einfach pauschal alle .DS_Store-Dateien meines Systems löschen.
Mich nervt es irgendwie, in jedem Ordner immer wieder die gleichen Spalten auszublenden, da die Funktion "Als Standard verwenden" irgendwie nicht funktioniert.
Also will ich alle .DS_Store-Dateien löschen und da das über die Finder-Suche nicht geht, werde ich das wohl über das Terminal lösen müssen.
Ich habe auch schon ein bisserl rumprobiert und einen Kandidaten gefunden, der eigentlich genau diese Aufgabe lösen sollte, was aber irgendwie nicht funktioniert.
Er rödelt zwar scheinbar endlos lange, aber wenn ich dann denselben Befehl ohne "-delete" ausführe, erhalte ich wieder Ergebnisse von .DS_Store-Dateien, die ja eigentlich gelöscht sein sollten.Code:find -f / -name ".DS_Store" -delete
Wie kann ich das lösen?!
- 14.04.2010, 20:52 #2Notebook: Lenovo ThinkPad X200 | 12,1" | Core2Duo 2,26GHz | 8GB DDR3 | X25-M G2 | HSDPA | Arch Linux x86_64HTPC: Apple MacMini | Core2Duo 2,26GHz | 2GB DDR3 | Geforce 9400M | Apple Remote | MacOS X 10.6 + Plex
- 14.04.2010, 21:03 #3
Hm, da meckert er rum
Code:find: illegal option -- t find: illegal option -- y find: illegal option -- p find: illegal option -- e find: f: No such file or directory
- 14.04.2010, 21:15 #4
Das muss dann eine OSX-spezifische Eigenheit von find sein, unter Linux geht des genau so:
Konsultiere mal die man-page ob die Parameter vielleicht etwas anders heißen, oder lass "-type f" weg....werden schon keine Ordner so heißen.Code:[mike@thinktux] find -type f -name "*txt" -exec echo "rm -v {}" \; rm -v ./Notebook - Daten.txt rm -v ./xp-test.txt rm -v ./Freundin 7.txt rm -v ./sshundgitfuerdummies.txtNotebook: Lenovo ThinkPad X200 | 12,1" | Core2Duo 2,26GHz | 8GB DDR3 | X25-M G2 | HSDPA | Arch Linux x86_64HTPC: Apple MacMini | Core2Duo 2,26GHz | 2GB DDR3 | Geforce 9400M | Apple Remote | MacOS X 10.6 + Plex
- 14.04.2010, 21:25 #5
Wie man so schön sagt: "That did the trick"
Code:find / -name ".DS_Store" -exec echo "rm -v {}" \;
Danke für die Hilfe.
- 06.01.2011, 15:14 #6Boskop
- Registriert
- 07.2008
- Ort
- Halle
- Beiträge
- 206
- 06.01.2011, 16:40 #7
Man sollte Befehle einfach syntaktisch richtig eingeben, damit sie funktionieren:
(Zu dem grotesken Unsinn mit "... -exec echo ..." möchte ich mich nicht mal äussern, da kriegt man ja Kopfschmerzen.)Code:find -x "/Pfad/zum/durchsuchen" -type f -name ".DS_Store" -delete
Ausserdem könnte man vorher berücksichtigen, dass während dieser Aktion der Finder nicht laufen darf.
Code:osascript -e "tell app \"Finder\" to quit"
Wäre ja noch schöner, wenn du alles mögliche löschen dürftest auf das du kein Schreibrecht besitzt.Bei mir kommen da ganz viele Meldungen "permission denied"...
An allen beliebigen Orten darf nur der root-Benutzer Dateien löschen, dazu ist das find-Kommando über "sudo" auszuführen. Wenn das nicht beabsichtigt ist, können diese Meldungen schlicht ignoriert werden.
- 06.01.2011, 16:53 #8Boskop
- Registriert
- 07.2008
- Ort
- Halle
- Beiträge
- 206
Also, für alle Nachfolgenden:
Ich habe das jetzt mal ein bisschen probiert.
Nachdem ich die .DS_Store gelöscht habe und dann den Finder in der Aktivitätsanzeige (Prozess beenden) neu startete, waren auch keine Kommentare mehr da. (Etiketten werden offensichtlich anders hinterlegt...die bleiben)
Mit der Lösung von Rastafari ging nun alles automatisch! Perfekt...
(ich habe alle Ordner innerhalb meiner "documents" neu generieren lassen)
Noch etwas wichtiges:
Wenn man den Standard ändert kann es sein, dass man den Finder über die Aktivitätsanzeige neu starten muss, damit es die anderen "Standardordner" dann automatisch übernehmen.
Vielen Dank Rastafari!!
PS: Wenn es nicht unverschämt von mir ist und du mal noch 30 Sekunden Zeit hast - eventuell erläuerst du dann mal die Bestandteile dieses Befehls.
Code:find -x "/Pfad/zum/durchsuchen" -type f -name ".DS_Store" -delete
- 06.01.2011, 16:55 #9Boskop
- Registriert
- 07.2008
- Ort
- Halle
- Beiträge
- 206
- 06.01.2011, 17:27 #10
Was genau war an "Finder darf während der Aktion nicht laufen" so unverständlich?
Jetzt weisst du warum vom löschen dieser Dateien abzuraten ist.waren auch keine Kommentare mehr da.
Was genau war an... na, die Frage hatten wir schon.Wenn man den Standard ändert kann es sein, dass man den Finder über die Aktivitätsanzeige neu starten muss
Suche in "PFAD" nach regulären Dateien (-type f), deren Name .DS_Store lautet (-name .DS_Store), verlasse dabei nicht das Volume des Suchordners (keine Mountpoints oder externe Symlinks auflösen: -x) und lösche die Suchtreffer (-delete).eventuell erläuerst du dann mal die Bestandteile dieses Befehls.
Bei solchen Nachfragen zu den grundlegendsten Unix-Basisbefehlen rate ich dazu, doch anstelle des Terminals lieber auf fertig konfektionierte GUI-Tools zu setzen. Für "sudo" gilt: Messer, Gabel, Schere, Licht...
Selbstverständlich.Selbst wenn ich als Admin am MAc eingeloggt bin, muss ich das per Sudo erlauben?
Administratoren besitzen keine Allmacht.
Sie verfügen nur über das exklusive Recht, sich diese Macht im Einzelfall zu verschaffen.
(Eingeschränkte Benutzer können "sudo" überhaupt nicht verwenden - das macht einen der wesentlichsten Unterschiede zum Admin aus.)



Zitieren
