On Fri, 10 Jan 2003 20:31:05 -0800
Matt Florido <[EMAIL PROTECTED]> wrote:

> I was wondering if someone could assist me in creating a shell script
> that will take the contents of a directory and rename them a certain
> way.
> 
> For example - 4 files in a directory:
> a.jpg
> ab.jpg
> abc.jpg
> abcd.jpg
> 
> Renamed as:
> 1-pic.jpg
> 2-pic.jpg
> 3-pic.jpg
> 4-pic.jpg
> 
> So it takes the contents of the directory regardless of the current
> filename, and renames them in an incrementing format.
> 
> ((N+1) + "-something.jpg")

Change the variables to your taste. The printf in the script will write a
leading 0 in the number--that's always a gotcha when the order is
important. If you have more than 99 images, you can change the 2 to a 3
and you'll get 001, 002 etc.

Test it out first, then change "echo" to "mv", remove the quotes around
the expression after that, take out the ==> of course.
HTH,
Todd

#!/bin/bash
EXT=".jpg"
NAME=pic
CNT=1
for image in `ls /path/to/directory | sort`
do
        FCNT=`printf "%02d" $CNT`
        echo "$image ==> $FCNT-$NAME$EXT"
        CNT=$(($CNT+1))
done
exit

Want to buy your Pack or Services from MandrakeSoft? 
Go to http://www.mandrakestore.com

Reply via email to