はじめに
皆様はプロジェクト進んでしまって、一括でファイル名をリネームしたくなることってないでしょうか?
お恥ずかしい話ではありますが、自分が作っているアプリで発生したので、それについて共有したいと思います。
実例
自分のプロダクトではSpecs2を使用しているのですが、チームメンバーで共有できておらず、
一般的には
hogehogeSpec.scala
といった名前をつけるのが定説となっていますが、
hogehogeSpecs.scala
と複数形になっているファイルが400ファイルほどありました。(苦笑
また、フォルダ構成はアプリのプロジェクトが進んでいたこともあり、相当深いフォルダ構成となっておりました。
解決Bash
Findしたものをwhileでぶん回す作戦です。
それで出来上がったのが以下のとおり。
find . -type f -name "*Specs.scala" -print0 |
while read -r -d '' file;
do mv "$file" "${file%%Specs.scala}Spec.scala";
done
ワイルドカードの部分を弄るだけで、他のリネームにも転用できますので、参考に使っていただけると幸いです。