Conversion des formats de fichier image avec la ligne de commande & sips

Anonim

La conversion d'images dans de nouveaux formats de fichiers est très facile grâce à une variété d'outils intégrés directement dans OS X (et la plupart des distributions Linux). Bien que la méthode la plus simple utilise Aperçu pour convertir des images, il existe une option de ligne de commande qui utilise le même outil sips dont nous avons déjà parlé pour effectuer un redimensionnement par lots à partir de la ligne de commande.À l'aide de gorgées, vous pouvez convertir des images uniques vers de nouveaux formats d'image, ou même effectuer des conversions d'images par lots.

Conversion d'image simple à partir de la ligne de commande

Pour convertir une seule image avec sips, utilisez la syntaxe de chaîne de commande suivante :

sips -s format --out

Par exemple, sur un fichier nommé "test.jpg" que vous souhaitez convertir en PNG, la syntaxe sips serait :

sips -s format png test.jpg --out test.png

Conversion d'images par lots avec gorgées

Convertir un groupe d'images est un peu plus délicat, et l'utilisation de simples caractères génériques comme lors du redimensionnement avec des gorgées ne fonctionne pas tout à fait de la même manière. Vous constaterez que l'utilisation d'un caractère générique générique tel quene renomme pas non plus le fichier. Nous utiliserons donc à la place un script shell très simple avec la syntaxe de commande suivante :

pour i dans ; faire sips -s format $i --out /$i.;done

En mettant cela à profit, nous allons convertir un dossier de fichiers .jpeg en fichiers png dans un nouveau sous-dossier du répertoire actuel, appelé "Converti":

pour i dans .jpeg ; do sips -s format png $i --out Converti/$i.png;done

L'exécution de cette commande peut entraîner la conversion de toutes les images JPEG au format PNG dans le nouveau répertoire.

Un piège potentiellement ennuyeux est que les noms de fichiers résultants incluront également le type de fichier d'origine, ce qui signifie que vous vous retrouverez avec des fichiers intitulés "test.jpeg.png". L'extension de fichier reste correcte, ce n'est qu'un problème de nommage. Vous pouvez contourner ce problème en les renommant pour commencer, puis en ajoutant ensuite l'extension de fichier appropriée avec un script bash similaire, en utilisant regex, ou renommé manuellement avec mv.

Lors de l'exécution de sips avec certains formats de fichiers, vous pouvez rencontrer des erreurs "avertissement lingpng" concernant les données exif, ces erreurs peuvent être ignorées pour la plupart et la conversion d'image aura toujours lieu.

Merci à Thom pour l'idée de conversion par lots

Conversion des formats de fichier image avec la ligne de commande & sips