Refactoring code with the command line (files, folders and possibly variables)

These are a few commands I use in situations where I can’t use Eclipse for refactoring my code, you can use them by replacing from and to with the names you want.

No need to remind you to take backups to prevent irreversible loss of data.

Rename files and folders

find . ! -path . -name '*' -exec bash -c 'echo $0 ${0/from/to}' {} \;

Rename variables

find . -type f -print | xargs sed -i 's/from/to/g'

Rename variables in bulk

find . -type f -print | xargs sed -i 's/from/to/g;s/foo/bar/g;s/FOO/BAR/g'






3 responses to “Refactoring code with the command line (files, folders and possibly variables)”

  1. Ayoub_ice Avatar

    Maybe using sublime text can be a good refactoring tool instant of Eclipse.

    1. Nabil Avatar

      Yes, you can get away with your IDE search/replace, PHPStorm/Rubymine/Webstorm and like have a great refactoring tool… Yet, nothing beats the speed and dangerousness of the command line.

  2. Sean Avatar

    Thanks! Just started using sed for refactorings.

    One thing to note: careful not to changes files in your source control private folders. i.e. .svn in my case.

Leave a Reply

Your email address will not be published. Required fields are marked *