Renaming file that has multiple numbers as filename

Hi
I have a file with filename as "partition-setup-and-ipl.vtcmd.76217657132.9721536798"

Now i need to move this file as "partition-setup-and-ipl.vtcmd.76217657132.9721536798_org"

i tried with

#  ls | grep -E "partition-setup-and-ipl.vtcmd.[0-9]+"
partition-setup-and-ipl.vtcmd.76217657132.9721536798
# mv partition-setup-and-ipl.vtcmd.[0-9]+ partition-setup-and-ipl.vtcmd.[0-9]+_org
mv: cannot rename partition-setup-and-ipl.vtcmd.[0-9]+ to partition-setup-and-ipl.vtcmd.[0-9]+_org:
No such file or directory

I feel i miss something in regular expression.. Please Help :rolleyes:

You don't - you fell for one of the illogicalities in *nixes. grep uses regex pattern matching with char repetition tokens, while the shell offers sth. called globbing using less versatile wild cards.
Read your shell's man page on how you need to compose a correct pattern.

1st trap:
ERE (grep -E or egrep) matches versus glob (wildcard) matches. As RudiC pointed out.
2nd trap:
the shell matches the wildcards against existing files in the current directory.
So the destination cannot be matched.
A way out is a loop, either

ls | grep -E "partition-setup-and-ipl.vtcmd.[0-9]+" |
while read file
do
 mv "$file" "$file"_org
done

Or

for file in partition-setup-and-ipl.vtcmd.[0-9]*[0-9]
do
 mv "$file" "$file"_org
done

While the latter is not as precice, because * allows all characters after the [0-9] ,
I added another [0-9] so at least it does not match the _org files.