If you want to change the suffix of
multiple files, you can't do:
% mv *.abc *.def
However the following shell script
can be used to do the required
opperation:
***
Change all *.abc file to *.def the
following shell script would work:
#!/bin/sh
for f in *.abc; do
mv $f `basename $f .abc`.def
done
How it works:
for f in *.abc; do
Set up a look for all files ending
in .abc, and each time around setup
$f as the filename
mv $f `basename $f.abc`.def
`basename $f .abc` takes the filename
in $f and removes any trailing occurences
of .abc, we then append .def to the result
and the resulting command becomes
"mv file.abc file.def"
done
Ends the "for" loop above.
Under "csh" or "tcsh" a similar thing could be done with:
foreach f in ( *.abc )
mv $f `basename $f .abc`.def
end
This tip generously supported by: pwain@liberate.com
NOTE: All tips provided are USE AT YOUR OWN RISK. Tips are submitted
by various unix admins around the globe. UGU suggest you read and
test each tip in a non-volitile environment before placing into
production.