ファイル名の拡張子を変更する

chextensions.sh OldExtension NewExtension
引数に変更前の拡張子と変更後の拡張子を指定し、カレントディレクトリにある
変更したいファイルの拡張子を変更する。
for文で変更したい拡張子のファイル名をfindで指定。
findで.を指定するときはエスケープする。
mvのiオプションは同じファイル名がある場合は確認する。

#!/usr/bin/sh
if [ "$#" -ne 2 ]; then
    echo "Usage : chextension.sh OldExtension NewExtension"
    exit 1
fi  
for oldfilename in `find . -name "*\.$1"`; do
    newfilename=`echo $oldfilename | sed "s/$1/$2/"`
    mv -i "$oldfilename" "$newfilename"      
done