Depuis Ubuntu 14.04, il y a au moins trois commandes rename
:
rename
fourni par le package util-linux
, voir man rename.ulrename
fourni par le package Perl
, voir man prenamerename
fourni par le package rename
, voir man file-renameDes questions:
Perl
inclue la commande "complète" rename
ou n'inclue aucune commande rename
? Pourquoi cette scission apparemment incomplète est-elle maintenue jusqu'à au moins Ubuntu 17.04?Cette question a déjà été posée sur U & L (comme je l'ai découvert plus tard):
Que font tous les renames: prename, renommer, renommer un fichier?
Comment se fait-il qu'il y ait deux paquets fournissant des commandes différentes utilisant le même nom (si ce n'est par accident)?
Ce n'est pas inhabituel. Les auteurs choisissent généralement le nom de commande le plus simple auquel ils pensent. Ainsi, si deux personnes écrivent une commande pour renommer des fichiers, il est probable qu'elles la nommeront toutes les deux rename
. C'est l'une des raisons du système Alternatives à Debian - qui permet aux paquetages proposant des commandes de même nom de coexister et permettant le remplacement d'un paquet par un autre. Par exemple, il existe plusieurs implémentations AWK - mawk
, original-awk
, gawk
(bien qu'ils se désignent tous eux-mêmes comme awk). Avec le système alternatif, vous pouvez tous les installer en même temps et basculer facilement entre eux en tant que valeur par défaut awk
.
Dans ce cas particulier, prename
provient du code source Perl. Les responsables de paquet Debian avaient à l'origine rename
soit celui de Perl, puis sont passés au système de remplacement, afin de prendre en charge le rename
de util-linux
. Ensuite, quelqu'un a écrit une version améliorée de rename
de Perl dans le module File-Rename Perl , qui a ensuite été ajouté comme alternative. Mais ce n'est même pas le seul module Perl permettant de renommer des fichiers.
Ne serait-il pas assez simple que le paquetage
Perl
inclue la commande "complète"rename
ou n'inclue aucune commanderename
? Pourquoi cette scission apparemment incomplète est-elle maintenue jusqu'à au moins Ubuntu 17.04?
Voir le bogue Debian n ° 735134 pour connaître l'évolution de cette situation. Les responsables de Debian préfèrent généralement utiliser au moins une version pour faire quelque chose de radical, comme remplacer une commande fonctionnelle par une autre. prename
a été gardé pour Jessie, et a maintenant été remplacé par Buster. De plus, il semble que rename
ne fasse plus partie du système alternatif, car rename.ul
est trop incompatible. rename
sera juste file-rename
.
Comme Ubuntu prend généralement en compte les modifications d’emballage dans Debian, ce qui arrive à rename
dans Debian sera repris par Ubuntu tôt ou tard, probablement vers 18.04. Il semble être trop tard pour 17h10.
Quelles sont exactement les différences entre ces commandes?
Fondamentalement, prename
et file-rename
exécutent des expressions Perl pour renommer les fichiers. file-rename
est juste maintenu activement et supporte plus d'options. rename
de util-linux
fonctionne de manière totalement différente, a ses propres règles pour les motifs.