Tente isso, usando o caminho correto :) apenas corrigindo seu comando (você está muito perto ...):
rename 's/(.*)(week.*)/$2/' *.pdf
ou para simplificar:
rename 's/.*(week.*)/$1/' *.pdf
Eu tenho um conjunto de arquivos chamado da seguinte maneira:
_9978967868768763ghjgj7598983678hjva_week1-6.pdf
_78637832bdsjh275637bkkaww786b_week12-32.pdf
8786767867868978713bkwkhjhkjqw_week1-622.pdf
867813567bdjsbgbadsyu6712353125561235_week100-6.pdf
Interesso-me a usar o utilitário rename
para obter nomes:
week1-6.pdf
week12-32.pdf
week1-622.pdf
week100-6.pdf
O regex para conseguir isso pode ser:
(.*)(week.*)
que funciona bem (regex101) :
Como faço para traduzir essa sintaxe na expressão de formato da renomeação:
s/expr1/expr2/[gi]
Com efeito, quero excluir o primeiro grupo.
Não estou interessado em usar a solução mv
ou sed
. Eu quero usar apenas o utilitário rename
.
prename
abordagem:
prename -n 's/.*_(week.*$)/$1/' *_week*.pdf
$1
- aponta para o 1º grupo capturado