No meu sistema Debian (bem, no meu sistema LMDE, mas perto o suficiente), eu tenho pelo menos 3 rename
programas diferentes :
/usr/local/bin/rename
: Este é um script Perl, escrito por Tom Christiansen. Curiosamente, não consigo encontrar qual pacote o instalou:$ dpkg -S /usr/local/bin/rename dpkg-query: no path found matching pattern /usr/local/bin/rename
/usr/bin/prename
: outro script perl, escrito por Robin Barker, este faz parte doperl
pacote:$ dpkg -S /usr/bin/prename perl: /usr/bin/prename
/usr/bin/file-rename
: ainda outro script Perl, nenhuma informação clara de autoria, mas são mencionados um Larry (presumivelmente Wall) e um Robin (presumivelmente Barker). Este é instalado pelorename
pacote e também possui um link simbólico para/usr/bin/rename
:$ dpkg -S /usr/bin/file-rename rename: /usr/bin/file-rename
Eu também tenho rename.ul
de util-linux
mas vamos ignorar que um para agora. Qual é a diferença entre esses 3 scripts Perl? Todos eles parecem ter a mesma página homem man rename
, man file-rename
e man prename
todos me dão a mesma página.
Eu poderia passar pelos próprios scripts e tentar entender as diferenças, mas isso não é trivial e espero que alguém saiba quais recursos cada um possui e os outros não. Pontos de bônus por explicar por que o mundo Debian precisa de três scripts de renomeação de Perl separados.
util-linux-ng
pacote. % file = rename / usr / bin / rename: executável LSB de ELF de 64 bits, x86-64, versão 1 (SYSV), ...rename
partir deutil-linux
que érename.ul
no Debian erename
em sistemas RedHat. Menciono isso no penúltimo parágrafo da minha pergunta.update-alternatives --display rename
mostra para você? Pensando se faz parte de uma alternativa pós-instalada.-v
e-i
opções. É um script antigo, antigo e antigo, sem a documentação adequada fora da mensagem de uso, mas é um cavalo de batalha padrão para reescritas em massa de nomes de arquivos. É um dos dois ou três roteiros que eu sempre quero comigo, não importa para onde eu vá.Respostas:
Não tenho certeza se isso deve ser um comentário, mas é apenas uma resposta parcial -
http://lists.alioth.debian.org/pipermail/perl-maintainers/2014-February/004113.html
tem o que parece ser a semente da bagunça. Especificamente:
O
libfile-rename-perl
mencionado acima agora é substituído porrename
:Portanto, o Perl tem o seu próprio
rename
que não é mantido pelo Debian e fornece/usr/bin/prename
. Os desenvolvedores Debian mantêm umrename
pacote (aparentemente conhecido anteriormente comolibfile-rename-perl
) que é o pacote que fornece/usr/bin/rename
: um link simbólico para/etc/alternatives/rename
qual ele próprio é um link simbólico para o/usr/bin/file-rename
script.O script de Tom Christiansen é fornecido com o
Unicode::Tussle
módulo de Perl . Você provavelmente o instalou e foi isso que forneceu/usr/local/bin/rename
.fonte