"last 3 chars of the filename will be different, the rest is unique"
Indeed, but that didn't stack up with the example given [scratches head].
I assumed that the source and destination file contents must differ, because if the contents currently match (md5sum check), and he wants to preserve the destination filename – what is his purpose in copying at all?
Arguably this is this a microcosm of the problems facing software engineers: weak problem specification 😀
Nifty script BTW.
EDIT: OK the destination files are empty. Come on Woody my Toy Story mate, explain how you know which source filenames should match which destination filenames?