Похожих тем много, но вот конкретно под мой случай не нашел. Имеется группа файлов с названиями вида:
'Bla bla bla 01 - bla bla.bla'
bla bla.bla
ls | sed 'p;s/.*- //' | xargs -n2 mv
find -type bla -print0 | sed 'p;s/.*- //' | xargs -0 -n2 mv
PS Perl не знаю