logo hsb.horse
← Voltar para o índice de snippets

Snippets

Converter imagens em lote para AVIF com avifenc

Snippet Bash que percorre recursivamente arquivos jpg/jpeg/png e os converte para .avif usando avifenc.

Publicado: Atualizado:

Script mínimo para converter todos os arquivos jpg/jpeg/png em um diretório para .avif. Para lidar com nomes de arquivos contendo espaços, utiliza find -print0 e 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
)

Observações

  • Se já existir um .avif com o mesmo nome, ele será sobrescrito
  • Para ver o log de conversão, remova >/dev/null 2>&1