In zsh (the shell in mac terminal), you can replace a part of a variable using parameter expansion.
You could try this answer to Rename multiple files based on pattern in Unix, with bash shell command. It would be useful in zsh too.
cd
to your target directory, then use:
for f in Icon?* do mv "$f" "${f/Icon?/Icon_}"; done
Since shell command is unforgiving, echo (print) it before you mv (give a new name to) it:
for f in Icon?* do echo "$f" "${f/Icon?/Icon_}"; done