Analizza la cartella per coppie con bash o AppleScript

2

Modifica le foto RAW in Photoshop utilizzando Adobe Camera Raw. Il modo in cui le modifiche funzionano ogni volta che lavoro su un'immagine, Photoshop crea un file di testo con lo stesso nome dell'immagine a cui sono state apportate le modifiche. Tuttavia, a volte quando elimino un'immagine o la uso in un Photomerge, il file XML rimane indietro. Così ora ho una cartella con ~ 1100 immagini RAW (.NEF), ~ 1300 file di testo (.xmp) e alcuni file photoshop (.psd, .psb).

Vorrei analizzare questa cartella, usando il comando AppleScript o bash, e contrassegnare o eliminare i file .xmp che non hanno un file RAW associato. Logicamente, il codice sarebbe: per ogni file .xmp, controlla un file .NEF con lo stesso nome. Se .NEF non esiste, cancella o contrassegna il file .xmp. Se .NEF esiste, non fare nulla.

Non ho familiarità con AppleScript, e anche se ho familiarità con i comandi ffmpeg, diskutil e basic cd / ls e rsync nel terminale, non ho mai provato qualcosa di simile e non so da dove cominciare.

Quindi, speravo che qualcuno qui potesse:

  1. Aiuta a decidere se bash o AppleScript sono più appropriati qui AND
  2. Aiutami a scrivere la sequenza OPPURE indicami delle buone risorse in cui potrei imparare abbastanza (bash o AppleScript) per scrivere la sequenza da solo.
posta NoahL 16.04.2017 - 21:25
fonte

1 risposta

5

In Terminale, cambia directory, ad es. cd /path/to/files , nella posizione dei file di destinazione e quindi utilizzare il seguente comando per eliminare qualsiasi file .xmp che non ha un file .NEF corrispondente:

for f in *.xmp; do [[ ! -f ${f%.*}.NEF ]] && rm "$f"; done
    
risposta data 16.04.2017 - 21:54
fonte

Leggi altre domande sui tag