#!/bin/bash # Source: https://www.digitalocean.com/community/tutorials/how-to-create-and-serve-webp-images-to-speed-up-your-website#step-3-%E2%80%94-converting-jpeg-and-png-images-in-a-directory # Usage ./webp-convert.sh /path/to/images if [ $# -eq 0 ]; then echo "Usage ./webp-convert.sh /path/to/images" exit 1 fi # Convert JPEG images to WEBP find "$1" -type f -and \( -iname "*.jpg" -o -iname "*.jpeg" \) \ -exec bash -c ' webp_path=$(sed 's/\.[^.]*$/.webp/' <<< "$0"); if [ ! -f "$webp_path" ]; then cwebp -quiet -q 90 "$0" -o "$webp_path"; fi;' {} \; # Convert PNG images to WEBP find "$1" -type f -and -iname "*.png" \ -exec bash -c ' webp_path=$(sed 's/\.[^.]*$/.webp/' <<< "$0"); if [ ! -f "$webp_path" ]; then cwebp -quiet -lossless "$0" -o "$webp_path"; fi;' {} \;