Hi,

this results in the same error message!

regards,
hampel

Am Son, 2003-03-16 um 18.20 schrieb Cowles, Steve:
> > -----Original Message-----
> > From: Kleiner Hampel
> > Sent: Sunday, March 16, 2003 10:41 AM
> > Subject: Re: shell script - expert question
> > 
> > 
> > Hi,
> > 
> > now it works, but because of the '*'.
> > 
> > now i want to remove the leading abc from all files in my directory.
> > i tried this:
> > 
> > for i in *; do mv $i `echo $i | sed s/abc//`; done
> > 
> > but it doesn't do that.
> > i always get the error, that the last arguement must be a directory!
> > I guess, the reason are the white spaces in the names.
> > perhaps the expression `echo $i | sed s/abc//` also have to 
> > be set in '' or so, but it doesn't work this way.
> > 
> > please help
> 
> Single quotes ' are treated literally by the shell interpreter. i.e. no
> filename expansion. With double quotes, your variables are expanded prior to
> being used. So...
> 
> for i in * ; do
>     mv "$i" `echo "$i" | sed -e 's/abc//'`
> done
> 
> Note: Your example has not dealt with filenames that do NOT contain spaces.
> 
> Steve Cowles




-- 
redhat-list mailing list
unsubscribe mailto:[EMAIL PROTECTED]
https://listman.redhat.com/mailman/listinfo/redhat-list

Reply via email to