Não vejo por que esse erro ocorreria. Na verdade, estou razoavelmente certo de que havia mais linhas para o erro do que você mostra; por um lado, não há nenhuma mensagem de erro real.
No entanto, essa expressão regular não corresponderá realmente a nenhum dos seus arquivos de exemplo. Você está usando [a-z]+\.mp3
, que corresponderá apenas a letras minúsculas e, como você está correspondendo até a extensão, só corresponderá aos arquivos cujo nome consiste em somente letras minúsculas após os números e espaço que você deseja remover. Você poderia, em vez disso, corresponder a [a-zA-Z]
ou usar s///i
para tornar a correspondência insensível, mas seria melhor não corresponder ao resto da palavra. Você só quer remover os dígitos e os espaços em branco desde o início, portanto, basta combinar com eles:
rename -vn 's/^\d+\s+//' *mp3