Auf meinem Debian-System (gut, meinem LMDE-System, aber nah genug) habe ich mindestens 3 verschiedene rename Programme:
-
/usr/local/bin/rename:Dies ist ein Perl-Skript, geschrieben von Tom Christiansen. Seltsamerweise kann ich anscheinend nicht finden, welches Paket es installiert hat:$ dpkg -S /usr/local/bin/rename dpkg-query: no path found matching pattern /usr/local/bin/rename -
/usr/bin/prename:ein weiteres Perl-Skript, geschrieben von Robin Barker, dieses ist Teil vonperlPaket:$ dpkg -S /usr/bin/prename perl: /usr/bin/prename -
/usr/bin/file-rename:noch ein weiteres Perl-Skript, keine eindeutigen Informationen zur Urheberschaft, aber sowohl ein Larry (vermutlich Wall) als auch ein Robin (vermutlich Barker) werden erwähnt. Dieser wird durchrenameinstalliert Paket und ist auch symbolisch mit/usr/bin/renameverknüpft :$ dpkg -S /usr/bin/file-rename rename: /usr/bin/file-rename
Ich habe auch rename.ul von util-linux aber lass uns das erstmal ignorieren. Was ist der Unterschied zwischen diesen 3 Perl-Skripten? Sie scheinen alle dieselbe Manpage zu haben, man rename , man file-rename und man prename alle geben mir die gleiche Seite.
Ich könnte die Skripte selbst durchgehen und versuchen, die Unterschiede zu verstehen, aber das ist nicht trivial, und ich hoffe, dass jemand weiß, welche Funktionen jedes hat, die die anderen nicht haben. Bonuspunkte für die Erklärung, warum die Debian-Welt drei separate Perl-Umbenennungsskripte benötigt.
Akzeptierte Antwort:
Ich bin mir nicht sicher, ob dies ein Kommentar sein sollte, aber es ist nur eine Teilantwort – Bug#735134:perl:rename(1) is old.
hat, was die Saat des Durcheinanders zu sein scheint. Konkret:
Um es zusammenzufassen:Seit vielen Jahren stellt das Perl-Paket
/usr/bin/rename bereit, ein eigenständiges Dienstprogramm, das in Perl implementiert ist. Das Problem ist, dass wir
das Dienstprogramm aus dem Perl-Paket nicht mehr bereitstellen wollen, weil
es lokal in debian/ hinzugefügt wurde und nicht gewartet wird. Eine
gepflegte Version ist als separates Paket verfügbar, libfile-rename-perl.
Die libfile-rename-perl oben erwähnt wird nun durch rename ersetzt :
$ apt-cache show rename | head
Package: rename
Version: 0.20-3
Installed-Size: 69
Maintainer: Debian Perl Group <[email protected]>
Architecture: all
Replaces: libfile-rename-perl
Provides: libfile-rename-perl
Depends: perl
Conflicts: libfile-rename-perl
Description-en: Perl extension for renaming multiple files
Perl hat also sein eigenes rename das nicht von Debian verwaltet wird und /usr/bin/prename bereitstellt . Die Debian-Entwickler pflegen ein rename Paket (anscheinend früher bekannt als libfile-rename-perl ), welches das Paket ist, das /usr/bin/rename bereitstellt :ein symbolischer Link zu /etc/alternatives/rename was selbst ein symbolischer Link zu /usr/bin/file-rename ist Skript.
Das Skript von Tom Christiansen ist mit Perls Unicode::Tussle gebündelt Modul. Sie haben es wahrscheinlich installiert und das hat /usr/local/bin/rename bereitgestellt .