2

Bash :: Extension change script

A simple script to recursively change filename extensions (case insensitive)

#!/bin/bash
#chext.sh
 
ARGS=("$@")
 
if [[ -d ${ARGS[0]} && ${ARGS[1]} && ${ARGS[2]} ]]; then
        for x in $(find ${ARGS[0]} -name "*.${ARGS[1]}"); do
                y=$(echo $x | sed "s/\.${ARGS[1]}\$/\.${ARGS[2]}/i")
                mv $x $y
                echo "$x -> $y"
        done
else
        echo 'USAGE: chext.sh'
fi

Read More