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 을 제거한다