No Linux, eu usaria find para localizar todos os arquivos relevantes e, em seguida, rename :
$ find . -name "*version2*" -exec rename version2 version3 {} \;
EDIT:
Para esclarecer, conforme o comentário de @ choroba abaixo, esta solução está relacionada a renomear (1) distribuído como parte do pacote util-linux.