Hi, tricky!
But what is about: ${var##string} ${var%string} ${var%%string What means the double #, the single and double #? Please explain me in some words! Thanks! Is there a man page with this information? regards, hampel Am Son, 2003-03-16 um 18.25 schrieb Robert P. J. Day: > On Sun, 16 Mar 2003, Cowles, Steve wrote: > > > > -----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. > > rather than going to the trouble of firing up "sed", you can use > the pattern-matching operators built into the shell: > > ${var#string} # discard shortest prefix matching "string" > > as in, > > ${i#abc} > > will return the string corresponding to the contents of $i, > with a prefix of "abc" deleted. if the prefix isn't "abc", > no change. > > check out: > > ${var#string} > ${var##string} > > ${var%string} > ${var%%string > > > rday > > p.s. just to clarify, you would do: > > mv "$i" "${i#abc}" > > p.p.s. note that "string" in all of the above can be a > wildcard pattern as well, making it really powerful. -- redhat-list mailing list unsubscribe mailto:[EMAIL PROTECTED] https://listman.redhat.com/mailman/listinfo/redhat-list