8 Strategies To Rename A number of Information At As soon as In Linux

Get real time updates directly on you device, subscribe now.

On this tutorial, we’ll learn to rename a number of recordsdata without delay in Linux utilizing varied instruments. All examples supplied listed here are examined in Ubuntu, nevertheless they need to work on any Linux working methods.


As you might already know, we use mv command to bulk rename or transfer recordsdata and directories in Linux and Unix-like working methods.

However, the mv command will not help batch renaming recordsdata without delay. It could actually rename just one file at a time. What would you do when you wished to rename a number of recordsdata at a time? Fear not!

There are a couple of different utilities out there to batch rename recordsdata in Linux.

Rename a number of recordsdata without delay in Linux

There may very well be many instructions and utilities to a rename bunch of recordsdata. As of penning this, I’m conscious of seven alternative ways to batch rename recordsdata. I’ll hold updating the checklist if I come throughout any new technique in future.

Methodology 1 – Batch rename recordsdata utilizing mmv

The mmv utility is used to maneuver, copy, append and rename recordsdata in bulk utilizing normal wildcards in Linux and Unix-like working methods. It’s out there within the default repositories of Debian-based methods.

To put in mmv on Debian, Ubuntu, Linux Mint, and Pop OS, run the next command:

$ sudo apt-get set up mmv

Allow us to say, you could have the next recordsdata in your present listing.

$ ls
a1.txt a2.txt a3.txt

Now you wish to rename all recordsdata that begins with letter “a” to “b”. In fact, you are able to do this manually in few seconds.

However simply suppose if in case you have tons of of recordsdata and wish to rename them? It’s fairly time consuming course of. Right here is the place mmv command is available in assist.

To rename all recordsdata beginning with letter “a” to “b”, merely run:

$ mmv a* b#1

Allow us to examine if the recordsdata have been renamed or not.

$ ls
b1.txt b2.txt b3.txt

As you possibly can see, all recordsdata begins with letter “a” (i.e a1.txt, a2.txt, a3.txt) are renamed to b1.txt, b2.txt, b3.txt.


Within the above instance, the primary parameter (a*) is the ‘from’ sample and the second parameter is ‘to’ sample (b#1).

As per the above instance, mmv will search for any filenames staring with letter ‘a’ and rename the matched recordsdata in accordance with second parameter i.e ‘to’ sample.

We use wildcards, reminiscent of ‘*’, ‘?’ and ‘[]‘, to match a number of arbitrary characters. Please be conscious that you need to escape the wildcard characters, in any other case they are going to be expanded by the shell and mmv gained’t perceive them.

The ‘#1′ within the ‘to’ sample is a wildcard index. It matches the primary wildcard discovered within the ‘from’ sample. A ‘#2′ within the ‘to’ sample would match the second wildcard and so forth.

In our instance, we’ve just one wildcard (the asterisk), so we write a #1. And, the hash signal must be escaped as effectively. Additionally, you possibly can enclose the patterns with quotes too.

You may even rename all recordsdata with a sure extension to a special extension. For instance, to rename all .txt recordsdata to .doc file format within the present listing, merely run:

$ mmv *.txt #1.doc

Right here is an one other instance. Allow us to say you could have the next recordsdata.

$ ls
abcd1.txt abcd2.txt abcd3.txt

You wish to exchange the the primary incidence of abc with xyz in all recordsdata within the present listing. How would you do?


$ mmv ‘*abc*’ ‘#1xyz#2’

Please be aware that within the above instance, I’ve enclosed the patterns in single quotes.

Allow us to examine if “abc” is definitely changed with “xyz” or not.

$ ls
xyzd1.txt xyzd2.txt xyzd3.txt

See? The recordsdata abcd1.txt, abcd2.txt, and abcd3.txt have been renamed to xyzd1.txt, xyzd2.txt, and xyzd3.txt.

One other notable function of mmv command is you possibly can simply print output as an alternative of renaming the recordsdata utilizing -n possibility like beneath.

$ mmv -n a* b#1
a1.txt -> b1.txt
a2.txt -> b2.txt
a3.txt -> b3.txt

This manner you possibly can merely confirm what mmv command would truly do earlier than renaming the recordsdata.

For extra particulars, refer man pages.

$ man mmv

Methodology 2 – Bulk rename recordsdata utilizing rename utility

The rename utility will rename given recordsdata by substituting the primary incidence of expression of their title by alternative.

The rename command comes preinstalled in most Unix-like working methods. If it’s not out there by default, run the next command to put in it on Debian-based methods:

$ sudo apt set up rename

As an example, I’ve the next recordsdata within the present listing.

$ ls
abcd1.txt abcd2.txt abcd3.txt

Allow us to exchange the the primary incidence of abc with xyz wherever discovered. To take action, run:

$ rename ‘s/abc/xyz/’ *

Now, confirm if the modifications have been made with ls command.

$ ls
xyzd1.txt xyzd2.txt xyzd3.txt

Typically, you may to only print output as an alternative of renaming the recordsdata. In that case, use -n flag to show which renames would happen with out performing them:

$ rename -n ‘s/abc/xyz/’ *
rename(abcd1.txt, xyzd1.txt)
rename(abcd2.txt, xyzd2.txt)
rename(abcd3.txt, xyzd3.txt)

As you possibly can see, the above command did not make any modifications, as an alternative simply shows which renames would happen.

You may pressure renaming job even when the operation would overwrite current recordsdata utilizing -f flag like beneath.

$ rename -f ‘s/abc/xyz/’ *

For those who do not wish to overwrite the recordsdata, you possibly can merely convert them to higher or lowercase letters (and vice versa) to stop “already exists” errors.

To transform all filenames to decrease case, so:

$ rename ‘y/a-z/A-Z/’ *

Allow us to examine if the modifications have been made.

$ ls

Sure, the letters within the filenames have been modified from decrease case to higher case.

Equally, to transform filenames to decrease case, run:

$ rename ‘y/A-Z/a-z/’ *

We are able to take away all clean traces in a filename as effectively. For instance, I’ve the next file.

$ ls
Clouds of Sundown.mp3

To take away all clean areas within the above filename, run:

$ rename “s/ *//g” *

Now, the filename does not have any clean areas.

$ ls

Change clean areas with underscores:

$ rename ‘s/s+/_/g’ *

You may wish to change the file extension, however not rename the filenames. Additionally it is attainable. The next command would rename all *.txt recordsdata to *.doc.

$ rename ‘s/.txt$/.doc/’ *.txt

Confirm the modifications utilizing ls command:

$ ls
abcd1.doc abcd2.doc abcd3.doc

To take away extension in all recordsdata matching .txt, run:

$ rename ‘s/.txt$//’ *.txt

For extra particulars, refer man pages.

$ man rename

Methodology 3 – Rename recordsdata utilizing renameutils

The renameutils is a set of applications that’s designed to batch renaming recordsdata and directories quicker and simpler.

Renameutils consists of the next 5 applications:

qmv (fast transfer),qcp (fast copy),imv (interactive transfer),icp (interactive copy),deurlname (delete URL).

Set up renameutils in Linux

Renameutils is obtainable within the default repositories of most Linux distributions. To put in it on Arch-based methods, allow the neighborhood repository and run:

$ sudo pacman -Syu renameutils

On Debian-based methods:

$ sudo apt set up renameutils

Now, allow us to see some examples.

1. qmv

The qmv program will open the filenames in a listing in your default textual content editor and lets you edit them.

I’ve the next three recordsdata in a listing named ‘ostechnix’.

$ ls ostechnix/
abcd1.txt abcd2.txt abcd3.txt

To rename the filenames within the ‘ostechnix’ listing, merely do:

$ qmv ostechnix/

Now, change the filenames as you would like. You will notice the stay preview as you edit the filenames.

Alternatively, you possibly can cd into the listing and easily run ‘qmv’.

When you opened the recordsdata, you will notice the 2 columns as proven within the following screenshot.

Bulk rename files using qmvBulk rename recordsdata utilizing qmv

The left column facet shows the supply filenames and the appropriate column shows the vacation spot names (the output filenames that you’ll get after modifying).

Now, rename all of the output names on the appropriate facet as you would like.

Bulk rename files using qmvBulk rename recordsdata utilizing qmv

After renaming filenames, save and give up the file.

Lastly, you will notice the next output:

Plan is legitimate.

abcd1.txt -> xyzd1.txt
abcd2.txt -> xyzd2.txt
abcd3.txt -> xyzd3.txt
   Common rename

abcd1.txt -> xyzd1.txt
abcd2.txt -> xyzd2.txt
abcd3.txt -> xyzd3.txt

Now, examine if the modifications have truly been made utilizing ‘ls’ command:

$ ls ostechnix/
xyzd1.txt xyzd2.txt xyzd3.txt

See? All recordsdata are renamed. Not simply recordsdata, the renameutils can even rename the listing names as effectively.

Here’s a fast video demo of qmv program:

Bulk rename files using qmvBulk rename recordsdata utilizing qmv

For those who do not wish to edit the filenames in dual-column format, use the next command to show the vacation spot file column solely.

$ qmv -f do ostechnix/

The place, ‘-f’ refers the format and ‘do’ refers destination-only.

Now, you will notice solely the vacation spot column. That is the column we make the modifications.

Display the destination file column only in qmvShow the vacation spot file column solely in qmv

As soon as finished, save and shut the file.

For extra particulars, refer man pages.

$ man qmv

2. qcp

The qcp program works like qmv, however copies recordsdata as an alternative of renaming them. On this case, you’ll get two situations of similar file. Meaning it’ll hold each authentic and duplicate recordsdata.

$ qcp ostechnix/

Rename the filenames listed on the appropriate facet. Save and give up the file. Lastly, confirm the modifications made utilizing ls command:

$ ls ostechnix/
abcd1.txt abcd2.txt abcd3.txt xyzd1.txt xyzd2.txt xyzd3.txt

For extra particulars, refer man pages.

$ man qcp

3. imv

The imv program permits us to interactively rename the filenames. Clearly, it’s not for bulk renaming. You may solely rename the recordsdata one after the other.

$ imv ostechnix/abcd1.txt

Edit the filename as you want and hit ENTER to rename it.

Rename files using imvRename recordsdata utilizing imv

For extra particulars, refer man pages.

$ man imv

4. icp

The icp program is similar as imv, however it copies the recordsdata as an alternative of shifting them.


$ icp ostechnix/abcd1.txt

For extra use circumstances and instructions, please refer man pages.

$ man icp

I do not know why the builders added these two utilities whereas we will do the identical utilizing mv and cp command.

5. deurlname

The deurlname program removes URL encoded characters (reminiscent of %20 representing area) from file names. Some applications, for examples w3m, are likely to hold these characters encoded in saved recordsdata.

You may this software for cleansing up the filenames you downloaded from the Web.

Have a look the the next file.

$ ls

There are some particular characters and numbers within the filename. For those who clear it up, simply run:

$ deurlname omgpercent20ponnupercent20ilypercent20kannu.mp3

Now, look how the file title is modified.

$ ls
omg ponnu ily kannu.mp3

The filename is clear and readable.

Refer man pages for extra particulars.

$ man deurlname

Additionally, refer the undertaking’s web site given on the finish of this information.

Methodology 4 – Rename a number of recordsdata without delay utilizing vimv

Because the title says, Vimv is a command line utility to bulk rename recordsdata utilizing Vim editor. You may, in fact, change the editor by altering the worth of $EDITOR atmosphere variable.

To put in Vimv, git clone the repository:

$ git clone https://github.com/thameera/vimv.git

Copy the vimv binary to your $PATH, for instance /usr/native/bin/.

$ sudo cp vimv/vimv /usr/native/bin/

Lastly, make it executable:

$ sudo chmod +x /usr/native/bin/vimv

Now go to the listing and run the next command to edit the filenames.

$ vimv

You will notice the filenames in Vi editor. Press i to change to interactive mode and edit the filenames as the best way you edit textual content in Vi editor. As soon as finished, press ESC key and kind :wq to avoid wasting and exit.

The recordsdata contained in the listing must be renamed now. Here’s a brief video demo.

Bulk rename files using VimvBulk rename recordsdata utilizing Vimv

For extra particulars, refer the undertaking’s GitHub repository given on the finish of this information.

Methodology 5 – Batch rename recordsdata utilizing Emacs

You probably have a system with Emacs editor put in, you are able to do batch renaming simply by following these steps.

1. Open your Emacs editor.

2. Press Alt+x and kind the next and hit ENTER to change to wdired-mode (brief for “writable listing editor mode”).

$ dired

3. Enter the trail to the listing (E.g. /dwelling/sk/ostechnix) which accommodates the recordsdata to rename and hit ENTER key.

4. Then, press Ctrl+x and Ctrl+q to change to read-write mode.

5. Now, rename the recordsdata. As soon as finished, press Ctrl+c and Ctrl+c (two instances) to avoid wasting the modifications. To abort the modifications, press Ctrl+c and Ctrl+ok.

Watch the demo video:

Emacs demo - Bulk rename files using EmacsBulk rename recordsdata utilizing Emacs

See? It is extremely easy to rename a number of recordsdata without delay.

Methodology 6 – Bulk rename recordsdata with Thunar file supervisor

The Thunar file supervisor has built-in bulk rename possibility by default.

Thunar is obtainable within the default repositories of most Linux distributions.

To put in it on Arch-based methods, run:

$ sudo pacman -S thunar

On Fedora, RHEL, CentOS, AlmaLinux, Rocky Linux:

$ sudo dnf set up thunar


$ sudo yum set up thunar

On openSUSE:

$ sudo zypper set up thunar

On Debian, Ubuntu, Linux Mint:

$ sudo apt-get set up thunar

As soon as put in, you possibly can launch bulk rename utility from menu or from the appliance launcher. To launch it from Terminal, use the next command:

$ thunar -B

That is how bulk rename seems like.

Thunar bulk rename utilityThunar bulk rename utility

Click on the plus signal and select the checklist of recordsdata you wish to rename. Bulk rename can rename the title of the recordsdata, the suffix of the recordsdata or each the title and the suffix of the recordsdata.

Thunar presently helps the next Bulk Renamers:

Insert Date or TimeInsert or OverwriteNumberingRemove CharactersSearch & ReplaceUppercase / Lowercase

When you choose one in every of these standards from the picklist, you will notice a preview of your modifications within the New Title column, as proven within the beneath screenshot.

Bulk rename files using ThunarBulk rename recordsdata utilizing Thunar

When you select the standards, click on on Rename Information choice to rename the recordsdata.

It’s also possible to open bulk renamer from inside Thunar by choosing two or extra recordsdata. After selecting the recordsdata, press F2 or proper click on and select Rename.

Methodology 7 – Rename checklist of recordsdata with KRename

KRename is a batch file renamer which might rename a listing of recordsdata based mostly on a set of expressions. It lets you rename giant numbers of recordsdata by merely including a sequence of numbers or altering case.

KRename is specifically designed for and put in by default in KDE distributions. It’s also possible to set up it on different Linux distributions as effectively.

For instance, to put in KRename on Fedora, merely run:

$ sudo dnf set up krename

Launch KRename software from software launcher or menu and add all recordsdata to be renamed within the Information part.

Add files in KRenameAdd recordsdata in KRename

Within the Vacation spot part, be sure to’ve chosen “Rename enter recordsdata” possibility..

Select rename input files optionChoose rename enter recordsdata possibility

Within the Plugins, you possibly can select any plugin(s) of your selection, which gives varied tags when renaming recordsdata.

KRename plugins sectionKRename plugins part

Within the final part part, you possibly can select the rename scheme to make use of. You will notice a preview on the backside based mostly on the scheme you’ve got chosen. When you’re OK with chosen choices, click on the End button to rename recordsdata.

Bulk rename files with KrenameBulk rename recordsdata with Krename

The renamed recordsdata will probably be saved in the identical location.

KRename is a feature-rich renamer utility. It has so many choices when renaming recordsdata. Most choices are self-explanatory.

Methodology 8 – Rename a number of recordsdata and folders utilizing Good file renamer

Good File Renamer is a graphical program to rename a number of recordsdata without delay. Utilizing Good File rename, you possibly can simply and shortly rename recordsdata and directories abruptly with couple mouse clicks. It’s cross-platform software that helps Linux, macOS and Home windows. In contrast to the opposite applications, it’s propriety. The free model has solely restricted performance.

Good File Renamer is obtainable as snap package deal. You may set up it utilizing the next command:

$ sudo snap set up smart-file-renamer

As soon as put in, launch it from menu or software launcher. Add the recordsdata and directories you wish to rename and click on the Rename button on the backside.

Smart file renamerGood file renamer

It helps many guidelines and filters for batch renaming. Simply select them on the appropriate facet of the appliance window and hit the Rename button.


There you go! On this information, we’ve mentioned 8 strategies to bulk rename recordsdata in Linux. We now have supplied each command line and graphical applications to rename a number of recordsdata in a single go. Simply choose that one which fits you and get the job finished.

And, that is all for now. Hope this was helpful. Have you learnt another technique so as to add on this checklist? Please point out them within the remark part beneath. I’ll examine and replace this information accordingly.


Comments are closed.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More