Se usar mv não for um requisito, use renomear:
rename 's/File(.*)\.txt/file-new-$1.doc/' *
Isso renomeia todos os arquivos no diretório atual. Se você tiver arquivos em subdiretórios, use find :
find -type f -exec rename 's/File(.*)\.txt/file-new-$1.doc/' {} +
Se mv for necessário, você pode fazer isso:
for i in *; do
j=$(echo $i | sed -r 's/File(.*)\.txt/file-new-.doc/')
mv $i $j
done