Comment convertir des images .webp en .png sous Linux
Testé sur Linux Ubuntu 20.04
Cette question est le premier résultat de la recherche Google "linux convert .webp image to png". Par conséquent, pour tous ceux qui trébuchent ici et veulent juste cette réponse simple, la voici :
# 1. Install the `webp` tool
sudo apt update
sudo apt install webp
# 2. Use it: convert in.webp to out.png
dwebp in.webp -o out.png
Fait! Vous avez maintenant out.png
.
Références
- J'ai entendu parler de
dwebp
de la question elle-même
Si vous en avez beaucoup à convertir/renommer, je vous recommande d'utiliser GNU Parallel et non seulement les convertir plus rapidement en les faisant en parallèle, mais aussi profiter de la possibilité de modifier les noms de fichiers.
La commande que vous voulez est :
parallel dwebp {} -o {.}.png ::: *.jpg
où le {.}
signifie "le nom du fichier sans l'extension d'origine" .
Si vous souhaitez également parcourir les sous-répertoires, vous pouvez utiliser :
find . -name "*.jpg" -print0 | parallel -0 dwebp {} -o {.}.png
Si vous voulez un indicateur de progression ou une "heure d'arrivée estimée" , vous pouvez ajouter --progress
ou --eta
après le parallel
commande.
Si vous voulez voir ce que GNU Parallel exécuterait, sans rien exécuter, ajouter --dry-run
.
Je recommande GNU Parallel à vous à cette époque où les processeurs deviennent "plus gros" (plus de cœurs) plutôt que plus rapide.
Je l'ai fait avec un oneliner court qui ne nécessite pas parallel
à installer dans le système
for x in `ls -1 *.jpg`; do dwebp {} -o ${x%.*}.png ::: $x; done
Et cela fonctionne pour le répertoire courant
J'essaierais de modifier la solution récursive @mark-setchell pour qu'elle ressemble à ceci :
for x in `find . -name "*.jpg"`; do dwebp {} -o ${x%.*}.png ::: $x; done
Le ${x%.*}
la partie est celle qui nécessite un mot d'explication ici - elle dit à bash de prendre .
et tout après le point du x
variable.Il a tendance à mal se comporter pour les noms avec plus de points car je n'ai pas vérifié si regex ici est paresseux ou gourmand - la réponse peut donc être ajustée davantage.