logo hsb.horse
← Retour à l’index des snippets

Snippets

Convertir des images en AVIF en lot avec avifenc

Un script Bash qui parcourt récursivement les fichiers jpg/jpeg/png et les convertit en .avif avec avifenc.

Publié: Mis à jour:

Un script minimal pour convertir en masse tous les fichiers jpg/jpeg/png d’un répertoire en .avif. Pour gérer les noms de fichiers contenant des espaces, on utilise find -print0 et read -d ''.

#!/usr/bin/env bash
set -euo pipefail
while IFS= read -r -d '' file; do
avifenc "$file" -o "${file%.*}.avif" >/dev/null 2>&1
done < <(
find . -type f \( -name '*.jpg' -o -name '*.jpeg' -o -name '*.png' \) -print0
)

Notes

  • Si un fichier .avif du même nom existe déjà, il sera écrasé
  • Pour afficher les logs de conversion, retirer >/dev/null 2>&1