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
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment