How to Bulk Rename Files in Linux (Terminal)
May 24, 2012 Leave a comment
*source: tips.webdesign10.com
The syntax for the rename command is:
rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]
-v means “verbose” and it will output the names of the files when it renames them. It is a good idea to use this feature so you can keep track of what is being renamed. It is also a good idea to do a test run with -n which will do a test run where it won’t rename any files, but will show you a list of files that would be renamed.
The “perlexpr” part of the command is a Perl expression. Don’t panic yet…
The “rename” command in action
Here is an example of the rename command:
rename -n ’s/\.htm$/\.html/’ *.htm
The -n means that it’s a test run and will not actually change any files. It will show you a list of files that would be renamed if you removed the -n. In the case above, it will convert all files in the current directory from a file extension of .htm to .html.
If the output of the above test run looked ok then you could run the final version:
rename -v ’s/\.htm$/\.html/’ *.htm
The -v is optional, but it’s a good idea to include it because it is the only record you will have of changes that were made by the rename command as shown in the sample output below:
$ rename -v ‘s/\.htm$/\.html/’ *.htm
3.htm renamed as 3.html
4.htm renamed as 4.html
5.htm renamed as 5.html
The tricky part in the middle is a Perl substitution with regular expressions, highlighted below:



Recent Comments