logo hsb.horse
← スニペット一覧に戻る

Snippets

avifencで画像を一括でAVIFに変換する

jpg/jpeg/png を再帰的に走査して avifenc で .avif に変換する Bash スニペット。

公開日: 更新日:

ディレクトリ配下の jpg/jpeg/png をまとめて .avif に変換する最小スクリプト。
空白を含むファイル名に対応するため、find -print0read -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
)

メモ

  • 同名の .avif がある場合は上書きされる
  • 変換ログが必要なら >/dev/null 2>&1 を外す