Changing all file's extensions in a folder using CLI in Linux

Use rename:

rename 's/.old$/.new/' *.old


If you have the perl rename installed (there are different rename implementations) you can do something like this:

$ ls -1
test1.foo
test2.foo
test3.foo

$ rename 's/\.foo$/.bar/' *.foo

$ ls -1
test1.bar
test2.bar
test3.bar

You could use a for-loop on the command line:

for foo in *.old; do mv $foo `basename $foo .old`.new; done

this will take all files with extension .old and rename them to .new

Tags:

Linux

Shell