Re: shell program help wanted!
Nianwei Xing <linux_debian@yahoo.com> writes:
> Hi, debians:
> I have a question about the shell program. The problem
> is I have lots of files with long file name under on
> directory and I want to changes the names of the files
> to temp0, temp1.gif,temp2.gif,.....tempN.gif,etc and I
> wrote the following shell program, but it doesn't
> work(actually, I don't know how to make the number at
> tempN.gif), can anybody help me to figure the problem?
> Thanks in advance!
>
> set i=0
> for file in `ls`
> do
> if [ -f $file ]; then
> cp $file ./temp$i.gif
> if [ $? -ne 0 ]; then
> echo "copy file failed"
> fi
> fi
> i = 'expr $i+1'
^^^^^^^^^^^^^^^
The quotes are the wrong direction, and you need spaces between each arg
to expr in order for expr to evaluate the expression numerically rather than
as a string.
> done
>
The following bash script worked for me:
#/bin/bash
i=0
for file in `ls`
do
cp $file temp$i.gif
i=`expr $i + 1`
done
Anthony.
Reply to: