20 September Batch file renaming
I just started working on an old Rails project after having neglected it for 15 months. Most of the view files still had the good old .rhtml extension. I was too lazy to rename these files by hand, both on my file system and in the git repository. I used the following Bash commands to do the job:
First, I renamed all the partials to the .erb extension. Note: I am not using .html.erb, as some of these partials are used in js-formatted responses as well:
for i in `find app/views/**/_*.rhtml`; do \ git mv $i `echo $i | sed s/\\.rhtml$/.erb/`; \ done
The remaining files could now be renamed to .html.erb with a similar command:
for i in `find app/views/**/*.rhtml`; do \ git mv $i `echo $i | sed s/\\.rhtml$/.html.erb/`; \ done
Note that this technique works with Subversion as well: just substitute git with svn in the command above. A regular rename is possible as well by leaving out git altogether!
Now my file names are Rails-compliant again, I can start refactoring all the code that is not up to current Rails standards anymore. Ah, the virtues of developing with a rapidly evolving framework…


