No Debian, Ubuntu e derivados, se você digitar man rename
em um prompt de comando, obterá a página de manual para um utilitário de renomeação que permite que comandos arbitrários de expressão regular do tipo Perl sejam usados na renomeação.
Por exemplo, isso reduzirá (truncando) todos os arquivos no diretório atual para um comprimento de cinco:
rename 's/^(.{5}).*/$1/' *
Ele funciona capturando os cinco primeiros caracteres e usando-o na substituição, removendo o restante.
Outro exemplo é reduzir os nomes de arquivos (sans extension) para cinco caracteres, preservando a extensão:
rename 's/^(.{5}).*(\..*)$/$1$2/' *
Ele captura dois grupos, o primeiro sendo o primeiro caractere cinco, o segundo sendo a extensão. Isso iria transformar myCarefullyCraftedDocument.pdf
em myCar.pdf
.
Aviso: use isso com cuidado, de preferência em uma cópia do seu diretório ou fazendo backups primeiro. Você foi avisado!! No mínimo, use rename -n
primeiro, o que mostrará o que seria feito sem realmente fazê-lo.