Forum darktable FR

Version complète : comment supprimer les XMP orphelins?
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Salut,
j'ai parcouru pas mal d'echanges au sujet de DT mais je n'ai pas trouvé reponse à ma question suivante:
A chaque fichier photo est associé un fichier XMP. quand je supprime une photo car je ne souhaite pas la conserver, son XMP reste lui bien présent dans le dossier. ce n'est pas grave en soit, mais ce XMP ne me sert à rien. Mais sur une base de donnée qui comporte près de 130.000 photos, ca me fait un paquet de XMP orphelins. y a t'il un moyen de les identifier et de les supprimer automatiquement? ou plus rapidement que 1 à 1.
Merci par avance pour votre aide Cool
jerome
voir image jointe.
[Image: Sans-titre.png]
Pour supprimer ces XMP tu dois procéder en dehors de darktable via les outils de ton OS. Par contre si tu supprimes tes photos depuis darktable avec le bouton "poubelle" de la table lumineuse, darktable supprimera en même temps la photo et le XMP. De la sorte tu n'auras plus le problème.
(18-08-19, 13:46)GM1901 a écrit : [ -> ]Pour supprimer ces XMP tu dois procéder en dehors de darktable via les outils de ton OS. Par contre si tu supprimes tes photos depuis darktable avec le bouton "poubelle"  de la table lumineuse, darktable supprimera en même temps la photo et le XMP. De la sorte tu n'auras plus le problème.

Merci Georges pour ta réponse rapide. bon je vois qu'il faut que je me remonte les manches alors. je n'ai pas d'autre choix que de les identifier et les effacer 1 par 1. merci
jerome
Ça peut se résoudre assez facilement avec un peu de bash :
Code :
#!/bin/bash

for dir in $*
do
       find $dir -type f -iname "*.xmp" |
               while read file
               do
                       raw=${file%.xmp}
                       [ -e $raw ] || echo $raw
               done
done
Ces quelques lignes te permettront d'afficher la liste des fichiers xmp orphelins dans le ou les dossiers que tu donneras en argument du script.

Je n'ai volontairement pas codé la suppression automatique. Comme ça pas de risque de faire des bêtises ;-), mais ce n'est franchement pas compliqué à ajouter si tu le veux.
(18-08-19, 17:14)jpverrue a écrit : [ -> ]Ça peut se résoudre assez facilement avec un peu de bash :
Code :
#!/bin/bash

for dir in $*
do
       find $dir -type f -iname "*.xmp" |
               while read file
               do
                       raw=${file%.xmp}
                       [ -e $raw ] || echo $raw
               done
done
Ces quelques lignes te permettront d'afficher la liste des fichiers xmp orphelins dans le ou les dossiers que tu donneras en argument du script.

Je n'ai volontairement pas codé la suppression automatique. Comme ça pas de risque de faire des bêtises ;-), mais ce n'est franchement pas compliqué à ajouter si tu le veux.
je vais essayer. merci pour ta réponse jp.