Edytuję zdjęcia RAW w Photoshopie przy użyciu Adobe Camera Raw. Sposób, w jaki edycje działają, za każdym razem, gdy pracuję nad obrazem, Photoshop tworzy plik tekstowy o tej samej nazwie co obraz, dla którego dokonano edycji. Jednak czasami, gdy usuwam obraz lub używam go w Photomerge, plik XML pozostaje w tyle. Mam teraz folder z ~ 1100 obrazami RAW (.NEF), ~ 1300 plikami tekstowymi (.xmp) i kilkoma plikami photoshop (.psd, .psb).
Chciałbym przeanalizować ten folder za pomocą AppleScript lub polecenia bash, albo oznaczyć lub usunąć pliki .xmp, które nie mają towarzyszącego pliku RAW. Logicznie kod powinien wyglądać następująco: dla każdego pliku .xmp sprawdź plik .NEF o tej samej nazwie. Jeśli .NEF nie istnieje, usuń lub zaznacz plik .xmp. Jeśli .NEF istnieje, nie rób nic.
Nie znam AppleScript i chociaż znam ffmpeg, diskutil oraz podstawowe komendy cd / ls i rsync w terminalu, nigdy nie próbowałem czegoś takiego i nie wiem od czego zacząć.
Miałem więc nadzieję, że ktoś tutaj może:
- Pomóż zdecydować, czy bash lub AppleScript jest bardziej odpowiedni tutaj ORAZ
- Pomóż mi napisać sekwencję LUB wskaż mi kilka dobrych zasobów, w których mógłbym nauczyć się wystarczająco dużo (bash lub AppleScript), aby sam napisać sekwencję.
źródło
Odpowiedzi:
W Terminalu zmień katalog, np.
cd /path/to/files
Na lokalizację plików docelowych, a następnie użyj następującego polecenia, aby usunąć dowolny.xmp
plik, który nie ma odpowiedniego.NEF
pliku:źródło
"${f%.*}.xmp"
byłoby tak samo"$f"
?${f%.*}.NEF
na"${f%.*}.xmp"
. Skróciłem to teraz.