gitで複数ファイルの拡張子を一括置換するシェルスクリプト


gitで、.jsを.tsに一括で置換したいときは以下のスクリプトでいけます。置換元ファイルを絞り込みたい場合は、適宜1行目のfindコマンドを書き換えます。

for i in $(find . -iname "*.js"); do
  git mv "$i" "$(echo $i | rev | cut -d '.' -f 2- | rev).ts";
done

以下を参照。

Git: Rename or move all files at once
https://stackoverflow.com/questions/9151920/git-rename-or-move-all-files-at-once/9151943#9151943