Batch Converting Image Files
Converting file formats
Use ffmpeg.
If ffmpeg is not available on the command line, install with brew install ffmpeg.
Batch convert webp to jpg
$ for i in *.webp; do ffmpeg -i "$i" "{i%.webp}.jpg"; done
Find and convert webp files recursively:
$ find . -iname '*.webp' -exec bash -c 'ffmpeg -y -i "$1" "${1%.*}.jpg"' _ {} \;
Batch convert png to jpg and scaling images proportionally
The scale=1024:-1 tells ffmpeg to scale the images to 1024 pixels wide. The height will be scaled proportionally. To scale to a consistent height of 800 pixels, scale=-1:800.
$ for i in *.png; do ffmpeg -i "$i" -vf scale=1024:-1 "converted/${i%.*}.jpg"; done
Batch renaming files
Use rename which can be installed with brew install rename.
In the following example, the -n option indicates "dry run" for testing purposes. The -e option indicates the regex pattern that should be applied.
$ for i in *.png; do rename -n -e 's/foo(\d\d)_/bar$1/g'; done