I\'d just like to change this
cc211_AMBER_13062012i.II cc211_GROMOS_13062012i.II
cc211_CHARM_13062012i.II cc211_OPLS_13062012i.II
to
I'm using a pure Linux solution:
### find all files that contains _DES in name and duplicate them adding _AUXLOCAL
for f in **/*_DES*; do
cp "$f" "${f%.DES}_AUXLOCAL"
done
###Rename all _AUXLOCAL files, removing _DES to _LOCAL
for f in **/*_AUXLOCAL*; do
mv "$f" "${f/_DES/_LOCAL}"
done
###Rename all _AUXLOCAL files, removing _AUXLOCAL
for f in **/*_AUXLOCAL*; do
mv "$f" "${f/_AUXLOCAL/}"
done
I hope it helps
rename 's/_13/_15/' cc*
Should do what you want. The regular expression s/_13/_15/
replaces _13
by _15
in all files starting 'cc'.
$ ls
cc211_AMBER_13062012.II cc211_GROMOS_13062012.II
cc211_CHARM_13062012.II cc211_OPLS_13062012.II
$ rename 's/_13/_15/' cc*
$ ls
cc211_AMBER_15062012.II cc211_GROMOS_15062012.II
cc211_CHARM_15062012.II cc211_OPLS_15062012.II
This will only work with the newer perl version of rename
. To check which version you have do man rename
. If the top of the page says
Perl Programmers Reference Guide
you have the perl version. If it says:
Linux Programmer's Manual
you have the standard (older) version.
For the older version, the command should be:
rename _13 _15 cc*
How about this:
for i in *.II; do mv $i $(echo $i | sed 's/_13/_15/g'); done
This will replace _13
with _15
in all files with extension .II
More information on sed here.
A pure bash
solution:
for i in cc*; do
mv "$i" "${i/_13/_15}"
done