1. Introduction
Batch renaming files can save a lot of time when you need to rename multiple files at once. In Linux, there are various ways to accomplish this task. In this article, we will discuss different methods to batch rename files in Linux.
2. Using the rename Command
The rename command is a powerful tool that can be used to rename files in Linux. It uses regular expressions to match and replace file names.
2.1 Basic Syntax
The basic syntax of the rename
command is as follows:
rename [OPTIONS] 's/old-pattern/new-pattern/' file(s)
The old-pattern
is the string that you want to replace, and the new-pattern
is the string that you want to replace it with. The s/
at the beginning of the pattern indicates that it is a substitution operation.
2.2 Examples
Let's take some examples to understand the rename
command.
Example 1:
To rename all .txt
files in the current directory to .md
, run the following command:
rename 's/.txt$/.md/' *.txt
This will replace the .txt
extension with .md
for all files in the current directory that have .txt
extension.
Example 2:
To rename all the files that have lowercase letters in their names to uppercase letters, run the following command:
rename 'y/a-z/A-Z/' *
This will transform all files whose names contain lowercase letters to uppercase letters.
3. Using the mmv Command
The mmv
command is another powerful tool to rename files in Linux. It is much more flexible than the rename command as it allows you to use wildcards and regular expressions to match and rename files.
3.1 Basic Syntax
The basic syntax of the mmv
command is:
mmv [-v] 'from-pattern' 'to-pattern'
The from-pattern
and to-pattern
are the patterns that specify the matching and renaming strings, respectively.
3.2 Examples
Let's take some examples to understand the mmv
command.
Example 1:
To rename all files in the current directory that have the .txt
extension to .md
, run the following command:
mmv '*.txt' '#1.md'
This command will replace the .txt
extension with .md
for all files in the current directory that have .txt
extension.
Example 2:
To rename all files in the current directory that have a numeric extension to the corresponding month name, run the following command:
mmv '*.[0-9][0-9]' '#1-$(date +%b).#2'
This command will rename all files in the current directory that have a numeric extension to the corresponding month name in the format name-month.extension
.
4. Conclusion
Batch renaming files is an important task when dealing with multiple files. In this article, we discussed two methods to batch rename files in Linux, namely the rename
command and the mmv
command. Both these methods are powerful tools that can help you save a lot of time and effort.