Sur mon système Debian (enfin, mon système LMDE, mais assez proche), j'ai au moins 3 rename
programmes différents :
/usr/local/bin/rename
: Ceci est un script Perl, écrit par Tom Christiansen. Curieusement, je n'arrive pas à trouver quel paquet l'a installé:$ dpkg -S /usr/local/bin/rename dpkg-query: no path found matching pattern /usr/local/bin/rename
/usr/bin/prename
: un autre script perl, écrit par Robin Barker, celui-ci fait partie duperl
package:$ dpkg -S /usr/bin/prename perl: /usr/bin/prename
/usr/bin/file-rename
: encore un autre script Perl, aucune information claire sur la paternité mais à la fois un Larry (vraisemblablement Wall) et un Robin (vraisemblablement Barker) sont mentionnés. Celui-ci est installé par lerename
package et est également lié à/usr/bin/rename
:$ dpkg -S /usr/bin/file-rename rename: /usr/bin/file-rename
J'ai aussi rename.ul
de util-linux
mais ignorons celui-ci pour l'instant. Quelle est la différence entre ces 3 scripts Perl? Ils semblent tous avoir la même page de manuel man rename
, man file-rename
et man prename
tous me donnent la même page.
Je pourrais parcourir les scripts eux-mêmes et essayer de comprendre les différences, mais ce n'est pas anodin et j'espère que quelqu'un saura quelles fonctionnalités chacun a que les autres n'ont pas. Points bonus pour expliquer pourquoi le monde Debian a besoin de trois scripts de renommage Perl distincts.
util-linux-ng
package. % file = rename / usr / bin / rename: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), ...rename
deutil-linux
ce qui estrename.ul
sur Debian etrename
sur les systèmes RedHat. Je le mentionne dans l'avant-dernier paragraphe de ma question.update-alternatives --display rename
montre? Vous vous demandez si cela fait partie d'une alternative post-installée.-v
et les-i
options. C'est un vieux, vieux, vieux script sans documentation appropriée en dehors de son message d'utilisation, mais c'est un cheval de bataille standard pour les réécritures de nom de fichier en masse . C'est l'un des deux ou trois scripts que je veux toujours avec moi, peu importe où je vais.Réponses:
Je ne sais pas si cela devrait être un commentaire, mais ce n'est qu'une réponse partielle -
http://lists.alioth.debian.org/pipermail/perl-maintainers/2014-F February/004113.html
a ce qui semble être les graines du gâchis. Plus précisément:
Ce qui
libfile-rename-perl
précède est maintenant remplacé parrename
:Donc, Perl a le sien
rename
qui n'est pas maintenu par Debian et fournit/usr/bin/prename
. Les développeurs Debian maintiennent unrename
paquet (apparemment anciennement connu sous le nom delibfile-rename-perl
) qui est le paquet qui fournit/usr/bin/rename
: un lien symbolique vers/etc/alternatives/rename
lequel est lui-même un lien symbolique vers le/usr/bin/file-rename
script.Le script de Tom Christiansen est fourni avec le
Unicode::Tussle
module de Perl . Vous l'avez probablement installé et c'est ce qui est fourni/usr/local/bin/rename
.la source