← Back Home

How to change extension of multiple files (bash script)

The following is the script I use in Macbook (Mountain Lion). It should work on most /*nix shell like bash, csh, ksh etc. However, I have tested it only in bash.

Script to change extension for multiple files

##!/usr/bin/env bash

for f in *.$1; do
  [[ -f "$f" ]] && mv -v "$f" "${f%$1}$2"
done

Save this file as “chext”, make it executable chmod +x chext and add to your $PATH.

Now you can use it like this:

cd path-to-dir
chext oldextension newextension
chext JPG jpg

Reference:

comments powered by Disqus