La .Taverne de l'Invisible

Une page de Le Lab de la taverne

Effacer facilement les jpgs quand on photographie en RAW+jpg

Par Darko Stankovski, 05/03/2014 (Mise à jour 29/03/2026) — Débutant

En tant que photographe, je photographie toujours en RAW. Avec les bons outils, l’export en jpg est très simple, je ne vois donc plus l’intérêt de photographier en RAW+jpg.

Malheureusement, avec mon vieux Canon G11, photographier en RAW signifier photographier en RAW+jpg. Une jpg sera créée en même temps que le RAW. C'est 20 % de stockage en plus sur la carte mémoire mais je n'aurai qu'à supprimer les jpgs en récupérant mes photos.

Oui mais non, le G11 est l’appareil familial. Ma femme par exemple a tendance à utiliser le mode carré vert. Je n’ai rien contre, chacun utilise le matériel comme il l’entends. Mais ceci ajoute une difficulté : le mode carré vert n’enregistre les photos que en jpg. En déchargeant la carte, je dois faire attention à ne pas supprimer ces photos.

Vérifier chaque fichier est long et rébarbatif. Et c’est tout le travail d’un ordinateur, si on sait lui dire quoi faire. Tout est l’affaire de 10 lignes. Bien sûr, ceci est l’approche que certains conçoivent comme un peu geek, mais elle aide beaucoup.

Le problème

Lors d’une prise de vue en RAW+jpg, l’appareil enregistre deux photos (une en RAW, l’autre en jpg) sur la carte mémoire. Les deux photos ont le même nom (disons IMG_0034) mais avec une extension différente en fonction de s’il s’agit d’une RAW ou d’une jpg. Nous aurons donc, pour un appareil Canon, IMG_0034.CR2 et IMG_OO34.JPG. Une photo prise uniquement en jpg n’existera qu’en une seule version, disons IMG_0035.JPG.

Un script shell de 10 lignes

Sur une machine de type UNIX (donc un Mac sous OsX ou un PC sous Linux), on s’en tire avec un script (un petit programme) très simple à lancer dans le répertoire où on a déchargé la carte mémoire. Ce petit programme parcours tous les fichiers jpg du répertoire et vérifie si il existe un fichier ayant le même nom avec une extension CR2. Si c’est le cas, il supprime la jpg, sinon… non. De plus, il affiche si il a supprimé ou gardé le fichier.

#!/bin/sh
for i in *.JPG
do
    if [ -f $(basename $i .JPG).CR2 ]
    then
        rm $i
        echo "deleted $i"
    else
        echo "kept $i"
    fi
done

Ce script est bien entendu assez basique et spécifique à Canon. Si vous utilisez un Nikon par exemple, il faudra remplacer .CR2 par .NEF puisqu’il faudra comparer avec les RAW Nikon qui ont pour extension .NEF.

Bien sûr, il est possible d’ajouter à ce script tout action qui vous plaira comme un message spécifique ou un déplacement au lieu d’une suppression.

Pour aller plus loin…

Ce script est pratique dans mon workflow puisque je décharge ma carte dans un répertoire dédié. En général, je renomme également mes photos en utilisant l’outil exiv2. Il est donc simple de faire d’une pierre deux coups en renommant les photos en fin de script comme pour l’exemple ci-dessous.

#!/bin/sh
for i in *.JPG
do
    if [ -f $(basename $i .JPG).CR2 ]
    then
        rm $i
        echo "deleted $i"
    else
        echo "kept $i"
    fi
done

exiv2 -r'%y%m%d-%H%M%S' -F rename *

Et voilà, il ne me reste plus qu’à les importer dans mon outil de gestion de photos favori.

Je sais que cette approche n’est pas à la portée, mais si vous cherchiez une solution simple et facile à mettre en œuvre pour gérer les doublons, vous pouvez librement recopier ce script.

Licence Creative Commons

Licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Pas de Modification 4.0 International