Dead simple.
How do I rename
05_h.png
06_h.png
05_half.png
06_half.png
Just use bash, no need to call external commands.
for file in *.png
do
mv "$file" "${file/_h.png/_half.png}"
done
Do not add #!/bin/sh
For those that need that one-liner:
for file in *.png; do mv "$file" "${file/_h.png/_half.png}"; done