rename – Batch rename files with string replacement

The rename command is a powerful Linux command-line tool that allows you to rename multiple files at once by replacing a string with another string. It is a very useful tool for batch renaming files and can save you a lot of time and effort.

Overview

The syntax for the rename command is as follows:

rename [options] 's/old_string/new_string/' files

Here, old_string is the string you want to replace, and new_string is the string you want to replace it with. The s at the beginning of the string stands for “substitute”. The files argument represents the files you want to rename.

Examples

Let’s say you have a directory with a bunch of files that have the extension .txt, and you want to rename all of them to have the extension .md. You can use the following command:

rename 's/.txt$/.md/' *.txt

This command will replace the .txt extension with .md for all files in the directory that have the .txt extension.

Another example is if you have a bunch of files with the prefix file_, and you want to remove that prefix from all of them. You can use the following command:

rename 's/file_//' file_*

This command will remove the file_ prefix from all files in the directory that start with file_.

Options

The rename command has several options that you can use to customize its behavior. The following table lists all available options for the command:

Option Description
-v Verbose mode. Prints the names of the files that are being renamed.
-n Dry run mode. Shows what the command would do without actually renaming the files.
-f Force mode. Overwrites existing files without prompting.
-h Help mode. Displays the help message for the command.

Troubleshooting Tips

If you encounter issues with the rename command, here are some troubleshooting tips:

  • Make sure you have the correct syntax for the command. The rename command can be tricky to use, so double-check your command before executing it.
  • Use the -n option to do a dry run of the command before actually renaming the files. This will show you what the command would do without actually renaming any files.
  • Be careful when using the -f option, as it can overwrite existing files without prompting. Make sure you have a backup of your files before using this option.

Notes

  • The rename command is not available on all Linux distributions by default. If you don’t have the command installed, you can install it using your distribution’s package manager. For example, on Ubuntu and Debian, you can install the command using the following command: sudo apt-get install rename.
  • The rename command uses regular expressions to match and replace strings. If you’re not familiar with regular expressions, it can be helpful to learn them before using the command.