• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

Finder: Ein (einfaches) Löschproblem

kontrollfeld

Stechapfel
Registriert
03.12.13
Beiträge
158
Hallo!

Ein einfaches Problem, für das mir im Finder keine Lösung einfällt:

Digitalkameras speichern Bilder üblicherweise im RAW-Format mit einer zusätzlichen JPG-Datei:
bild1.RAW
bild1.JPG
bild2.RAW
bild2.JPG
bild3.RAW
bild3.JPG
usw. ...je nach Auftrag gerne mal ein paar Hundert Dateien

Um schnell unbrauchbare Bilder auszusortieren gehe ich zuerst die JPG-Bilder durch und lösche sie.
Es bleibt z.B. übrig:
bild1.RAW
bild2.RAW
bild2.JPG
bild3.RAW
Wie kann ich nun (per Finder!) die zugehörigen RAW-Dateien ebenfalls löschen, die kein JPG-Pendant mehr haben? (in dem Fall bild1.RAW, bild3.RAW)

Grüße
kontrollfeld
 
Hast du schon einmal in Automator nachgesehen? Klingt nach einem perfektem Einsatzgebiet hierfür.
 
Hast du schon einmal in Automator nachgesehen? Klingt nach einem perfektem Einsatzgebiet hierfür.

Die Idee hatte ich auch schon, habe aber bisher kein Script gefunden, das für diese Aufgabe geeignet ist. Das Problem lässt sich auch nicht so einfach ohne Automator-Erfahrung "runterschreiben".

Ein anderer Weg wäre, ein Ordner-Synchronisierungs-Tool einzusetzen, das in der Lage ist, File Extensions zu ignorieren. Dazu würde man RAWs und JPEGs in getrennte Ordner bewegen und diese dann synchronisieren. Das Tool müsste dann die RAWs löschen, wenn im anderen Ordner keine passenden JPEGs sind. Auch da habe ich bisher keine geeignete Lösung gefunden:(
 
Am einfachsten ist es, wenn du die Bilddateien nach "Art" sortierst. Dann lassen sich die RAWs und JPEGs problemlos in jeweils getrennte Ordner verfrachten. Wie man dann weiter vorgeht hängt vom Aufwand ab, den man betreiben möchte. Z. B. könnte man sich mit dem Terminalbefehl "diff" die Unterschiede der beiden Ordner anzeigen lassen und dann händisch löschen. Wenn es sich nicht gerade um tausende Bilder handelt sollte das die einfachste Lösung sein.

MACaerer
 
Folgender Weg sollte gehen: Prüfe für jede .jpg-Datei, ob eine .raw-Datei mit gleichem Namen existiert, falls nicht, lösche die .jpg-Datei. Das lässt sich in der Shell wie folgt bewerkstelligen (du kannst den Befehl auch in einen Automator-Workflow packen und somit direkt über den Finder ausführen):
Code:
find . -name "*.jpg" -exec sh -c 'if [ ! -f $(basename -s .jpg {}).raw ]; then echo Delete {}; fi' \;
(statt dem Löschen steht hier jetzt einfach mal eine echo-Ausgabe, weil du selbst noch mal testen sollst, ob das deinen Wünschen entspricht. Wenn ja, einfach das echo durch ein rm ersetzen).

[ed] Ach so, ich sehe gerade, dass deine Endungen großgeschrieben sind. Das müsstest du also hier noch anpassen.
 
Code:
find . -name "*.jpg" -exec sh -c 'if [ ! -f $(basename -s .jpg {}).raw ]; then echo Delete {}; fi' \;

Vielen Dank dafür! Ich konnte es noch nicht ausprobieren, weil ich erst rausfinden muss, wie ich das in Automator reinkriege, aber das ist vermutlich ein geringeres Problem;)