ディレクトリ配下の jpg/jpeg/png をまとめて .avif に変換する最小スクリプト。
空白を含むファイル名に対応するため、find -print0 と read -d '' を使う。
#!/usr/bin/env bashset -euo pipefail
while IFS= read -r -d '' file; do avifenc "$file" -o "${file%.*}.avif" >/dev/null 2>&1done < <( find . -type f \( -name '*.jpg' -o -name '*.jpeg' -o -name '*.png' \) -print0)メモ
- 同名の
.avifがある場合は上書きされる - 変換ログが必要なら
>/dev/null 2>&1を外す
hsb.horse