Change the Extension of Multiple Files in Linux

In this example, we will change all files with extension ‘.info’ to ‘.txt’.

Rename all *.info files in one folder

rename .info .txt *.info

That should read as..

rename <replace this string> <with this string> <in all these files>

Do the same operation recursively in a directory tree

find . -name "*.info" -exec rename .info .txt {} \;

Those double quotes around *.info are important – don’t remove them mm-kay?


Author: Binny V A
A philosopher programmer who specializes in backend development and stoicism.

6 thoughts on “Change the Extension of Multiple Files in Linux

  1. @Bradforf, Syntax for rename is wrong. Correct command is

    find . -name “*.info” -exec rename s/.info/.txt/ {} \;

  2. Worked like a charm with CentOS 6’s standard tools and standard shell (bash)

    @Bradford, you’re not super likely to read this 4.5 years later, but try

    rename ‘.mp4’ ‘.mpg’ *.mpg

    for your situation =0

Leave a Reply

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