====== Convertir des images JPEG en PNG et réciproquement ======
===== Conversion simple =====
JPEG vers PNG
mogrify -format jpg *.png
Bien sûr, on peut utiliser un motif plus précis que "*.png" (par exemple "Screenshot_20220508_08*.*") pour peu qu'il soit compréhensible par le shell utilisé.
PNG vers JPEG
mogrify -format png *.jpeg
===== Conversion avec modifications =====
PNG vers JPEG
mogrify -format jpg -quality 80 -resize 40% *.png
===== En jouant sur les noms de fichiers =====
Dans ces exemples on utilise la commande //ls// pour sélectionner les fichiers auxquels on va appliquer la conversion et les [[https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html|règles d'expansion des paramètres]] de //bash//((Ici, //bash// est exécuté en tant que sous-shell du shell auquel la ligne commande est soumise.)) pour manipuler les noms des fichiers résultants.
On collecte suivant plusieurs motifs :
ls -1 motif-1.png motif2.png motif-3.png | xargs -n 1 bash -c 'convert "$0" "${0%.png}.jpg"'
On collecte suivant un seul motif et on ne garde que les éléments distinctifs des noms de fichiers :
ls -1 Screenshot_20220508_08*.* | xargs -n 1 bash -c 'convert "$0" "${0#*20220508_08}.jpg"'
ls -1 *.png.jpg | xargs -n 1 bash -c 'mv "$0" "${0/.png}"'