Deseja usar o comando find com vários comandos de renomeação. Como eu posso fazer isso.
Esta é a sequência que quero executar com o find
comando
rename "s/ /-/g" * ; rename 'y/A-Z/a-z/' * ; rename 's/[.]-/-/g' * ; rename 's/--/-/g' *
Deseja usar o comando find com vários comandos de renomeação. Como eu posso fazer isso.
Esta é a sequência que quero executar com o find
comando
rename "s/ /-/g" * ; rename 'y/A-Z/a-z/' * ; rename 's/[.]-/-/g' * ; rename 's/--/-/g' *
Você não precisa
rename
de separado aqui. O primeiroargument
a renomear pode ser qualquerperl
código que faça as modificações que você deseja no caminho do arquivo (conforme armazenado em$_
), você não precisa usars/pattern/replacement/flags
muito menos apenas um deles.Aqui, você poderia apenas fazer:
Ou se o seu
rename
não suporta-d
:aqui transformando tudo
<0-or-more-spaces-or-dot-or-dash><1-or-more-spaces-or-dash>
em um único traço, mas você pode fazer todos os seuss/.../.../
s, separados por;
s:Em qualquer caso, você deseja garantir que as substituições sejam aplicadas apenas ao nome de base (daí o
-d
) e que as folhas sejam renomeadas antes das ramificações em que estão (daí o-depth
).(
-n
s acima são para funcionamento a seco).