Carpeta de análisis para pares con bash o AppleScript

2

Edito fotos RAW en Photoshop utilizando Adobe Camera Raw. La forma en que funcionan las ediciones es cada vez que trabajo en una imagen, Photoshop crea un archivo de texto con el mismo nombre que la imagen a la que se realizaron las ediciones. Sin embargo, a veces cuando borro una imagen, o la uso en un Photomerge, el archivo XML se queda atrás. Por lo tanto, ahora tengo una carpeta con ~ 1100 imágenes RAW (.NEF), ~ 1300 archivos de texto (.xmp) y algunos archivos de photoshop (.psd, .psb).

Me gustaría analizar esta carpeta, usando AppleScript o un comando bash, y marcar o eliminar los archivos .xmp que no tienen un archivo RAW complementario. Lógicamente, el código sería: para cada archivo .xmp, busque un archivo .NEF con el mismo nombre. Si .NEF no existe, elimine o marque el archivo .xmp. Si .NEF existe, no haga nada.

No estoy familiarizado con AppleScript, y aunque estoy familiarizado con los comandos ffmpeg, diskutil y cd / ls y rsync básicos en la terminal, nunca he intentado algo como esto y no sé por dónde empezar.

Entonces, esperaba que alguien aquí pudiera:

  1. Ayude a decidir si bash o AppleScript es más apropiado aquí Y
  2. Ayúdame a escribir la secuencia O indícame algunos buenos recursos donde pueda aprender lo suficiente (bash o AppleScript) para escribir la secuencia yo mismo.
pregunta NoahL 16.04.2017 - 21:25

1 respuesta

5

En la Terminal, cambie el directorio, por ejemplo, cd /path/to/files , a la ubicación de los archivos de destino y luego use el siguiente comando para eliminar cualquier archivo .xmp que no tenga un archivo .NEF correspondiente:

for f in *.xmp; do [[ ! -f ${f%.*}.NEF ]] && rm "$f"; done
    
respondido por el user3439894 16.04.2017 - 21:54

Lea otras preguntas en las etiquetas