Tenho vários arquivos com esses nomes:
file1, A.ext
file1, The.ext
Eu preciso mudar lá nomes como
A file1.ext
The file1.ext
Ou seja, preciso mover o artigo do final para o início, apagando a vírgula. Como eu faria isso?
Pesquisei o comando renomear, mas não tenho experiência com perl regex, criei esse comando ridículo que não funciona, estou deixando para mostrar minha desesperança:
rename 's/(?<=[A-Z a-z \s]*),\sA//' *
Você precisaria ter:
Isso
^([^,]*),
corresponde a tudo, menos uma vírgula até uma primeira vírgula vista desde o início do nome do arquivo.Isso
\s*(.*)\.ext$
corresponde a zero ou mais espaços em branco seguidos por qualquer coisa e termina com.ext
.O
$2
e$1
é uma referência inversa ao(.*)
e([^,]*)
respectivamente.fará renomear da seguinte forma:
P,s: remova
-n
para renomear os arquivos usados para teste.