Edito fotos RAW en Photoshop usando Adobe Camera Raw. La forma en que funcionan las ediciones es que cada vez que trabajo en una imagen, Photoshop crea un archivo de texto con el mismo nombre que la imagen en la que se realizaron las ediciones. Sin embargo, a veces, cuando elimino 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 ffmpeg, diskutil y los comandos básicos de cd/ls y rsync en la terminal, nunca he intentado algo como esto y no sé por dónde empezar.
Entonces, esperaba que alguien aquí pudiera:
En 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 .xmp
archivo que no tenga un .NEF
archivo correspondiente:
for f in *.xmp; do [[ ! -f ${f%.*}.NEF ]] && rm "$f"; done
"${f%.*}.xmp"
sería lo mismo un "$f"
?${f%.*}.NEF
a "${f%.*}.xmp"
. Lo he acortado ahora.
sin ladera