A shell script for Renaming large number of files in Linux

29 10 2011

Hi, today I’m going to Blog about a very simple shell script, that may help you guys a lot.NO big deal, its very simple one. It was very helpful to me, once I had to rename a large number of images of Kim Kardashian.  So then I realise it will very easy doing it with a Shell script rather than manually rename it.#!/bin/bash
# Author: Gihan De Silva @  gihansblog.com
# rename script
# rename.sh
for i in `ls *.jpg`
x=`expr $x + 1`
mv $i Kim_Kardashian$x.jpg

echo “rename done!”

Code Explanation!


This is how always a shell script starts.


This line clears all the things already in the terminal window.


This line define and declare a variable.

for i in `ls *.jpg`

This line starts a loop and, it will list down all the JPEG(jpg) type images.

x=`expr $x + 1`

This line increases the value of x by 1.

mv $i Kim_Kardashian$x.jpg

This line renames all the files according to a sequence like, Kim_Kardashian1.jpg , Kim_Kardashian2.jpg, Kim_Kardashian3.jpg  ……

And you can just make Kim_Kardashian$x.jpg like My_file_name_$x.jpg ,so that’s it.

And to run this shell script, put rename.sh shell script into your file folder (directory) .

Then open Terminal window (Ctrl+T).

Go to your file folder through the terminal.

Then type chmod 755 rename.sh to get the permission.

Then run it by typing ./rename.sh

Now you will see files have renamed :D.

You can DOWNLOAD the shell script from here!

Thank you

Gihan De Silva