Isso funcionará se assumirmos que até o primeiro sublinhado seja o prefixo.
for f in *.png; do
new=$(echo "$f" | sed -r 's/^([^_]*)_(.*)\.(.*)$/_./');
echo "Renaming: $f => $new";
#mv $f $new
done
Remova o #
na frente de mv
se você estiver satisfeito com a saída.
Com prename
, seria um pouco mais fácil:
prename -n 's/^([^_]*)_(.*)\.(.*)$/$2_$1.$3/'
Se t_
for sempre o prefixo, mude para esse padrão:
for f in t_*.png; do
new=$(echo "$f" | sed -r 's/^t_(.*)\.(.*)$/_t./');
echo "Renaming: $f => $new";
#mv $f $new
done