Eugene Tyurin
for f in *.xxx ; do mv "$f" "${f%.xxx}.zzz"; done
This will rename all *.xxx files to *.zzz
The reason why mv *.xxx *.zzz works in DOS, but not in Unix is that Unix shells expand wildcards and pass the whole list of files to 'mv'.
Never consider Unix shell as a problem, as you pretty have complete control at any time. Just use any of: mv \*.xxx \*.zzz mv '*.xxx' '*.zzz' mv "*.xxx" "*.zzz" ay. There are a _lot_ of possible variations on these themes :-). However, `mv' will not expand `*' itself, so far that I know. Unless the program cooperates at doing something meaningful, you are out of luck. Of course, the program could be modified, and the maintainer is collaborative. The difficulty, and not a small one, is to decide what should be the specifications, as once set, they may not easily be changed (imagine if `mv' specifications were later changed in incompatible ways, just before people did not think hard enough on the first try). -- François Pinard http://www.iro.umontreal.ca/~pinard -- To unsubscribe send e-mail to suse-linux-e-unsubscribe@suse.com For additional commands send e-mail to suse-linux-e-help@suse.com Also check the FAQ at http://www.suse.com/Support/Doku/FAQ/