Если шаблон для всех ваших файлов похож на тот, который вы опубликовали, я бы сказал, что вы можете сделать что-то такое же простое, как запустить его в своем каталоге:
for file in `ls *.png`; do new_file=`echo $file | awk -F"-" '{print $2}' | awk -F"@" '{n=split($2,a,"."); print toupper($1) "." a[2]}'`; mv $file $new_file; done
Если вы хотите изучить другие решения,как и регулярные выражения, вы также можете сделать:
for file in `ls *.png`; do new_file=`echo $file | sed "s/.*-//g;s/@.*\././g" | tr '[:lower:]' '[:upper:]'`; mv $file $new_file; done
Тестируя его, он делает, например:
mv 01-Peterson@2x.png PETERSON.png
mv 02-Bradley@2x.png BRADLEY.png
mv 03-Jacobs@2x.png JACOBS.png
mv 04-Matts@1x.png MATTS.png
mv 05-Jackson@4x.png JACKSON.png