Eu não estava especificando quais arquivos para renomear. Adicionado um asterisco ao fim do comando:
perl-rename -n 's/(.+) \[(\d{4})\](?: - (.+)\.+)*/[$2] $1 ($3)./' *
Além disso, a maneira como eu estava fazendo referência a grupos de captura estava incorreta. Fazer referência a grupos de captura é feito como ,
etc., em vez de
$1
, $2
, etc. A expressão de trabalho era semelhante a:
perl-rename -n 's/(.+) \[(\d{4})\](?: - (.+)\.+)*/[] ()./' *