W moim systemie Debian (cóż, moim systemie LMDE, ale wystarczająco blisko) mam co najmniej 3 różne rename
programy:
/usr/local/bin/rename
: To jest skrypt Perla, napisany przez Toma Christiansena. Co dziwne, nie mogę znaleźć, który pakiet to zainstalował:$ dpkg -S /usr/local/bin/rename dpkg-query: no path found matching pattern /usr/local/bin/rename
/usr/bin/prename
: inny skrypt perla, napisany przez Robina Barkera, ten jest częściąperl
pakietu:$ dpkg -S /usr/bin/prename perl: /usr/bin/prename
/usr/bin/file-rename
: jeszcze inny skrypt Perla, brak wyraźnych informacji o autorstwie, ale wspomniano zarówno Larry'ego (prawdopodobnie Wall), jak i Robina (prawdopodobnie Barkera). Ten jest instalowany przezrename
pakiet i jest również dowiązany symbolicznie do/usr/bin/rename
:$ dpkg -S /usr/bin/file-rename rename: /usr/bin/file-rename
Mam też rename.ul
od util-linux
Miejmy jednak ignorować faktu, że jeden na teraz. Jaka jest różnica między tymi 3 skryptami Perla? Wszystkie one wydają się mieć tę samą stronę man, man rename
, man file-rename
i man prename
wszystko mi dać tę samą stronę.
Mógłbym przejść przez same skrypty i spróbować zrozumieć różnice, ale to nie jest trywialne i mam nadzieję, że ktoś będzie wiedział, jakie cechy mają każdy, czego inni nie. Punkty bonusowe za wyjaśnienie, dlaczego świat Debiana potrzebuje trzech osobnych skryptów zmieniających nazwy Perla.
util-linux-ng
pakietu. % file = zmień nazwę / usr / bin / rename: ELF 64-bitowy plik wykonywalny LSB, x86-64, wersja 1 (SYSV), ...rename
skądutil-linux
pochodzi systemrename.ul
Debian irename
RedHat. Wspominam o tym w przedostatnim akapicie mojego pytania.update-alternatives --display rename
pokazuje Zastanawiasz się, czy jest to część poinstalacyjnej alternatywy.-v
i-i
opcje. Jest to stary, stary, stary skrypt bez odpowiedniej dokumentacji poza komunikatem o użyciu, ale jest to standardowy koń roboczy do masowego przepisywania nazw plików. To jeden z dwóch lub trzech skryptów, które zawsze chcę ze sobą, bez względu na to, dokąd pójdę.Odpowiedzi:
Nie jestem pewien, czy powinien to być komentarz, ale to tylko częściowa odpowiedź -
http://lists.alioth.debian.org/pipermail/perl-maintainers/2014-F February/004113.html
ma coś, co wydaje się być ziarnem bałaganu. Konkretnie:
libfile-rename-perl
Wspomniano powyżej jest teraz zastąpiony przezrename
:Zatem Perl ma swój własny,
rename
który nie jest obsługiwany przez Debiana i zapewnia/usr/bin/prename
. Deweloperzy Debiana utrzymująrename
pakiet (najwyraźniej wcześniej znany jakolibfile-rename-perl
), który jest pakietem, który zapewnia/usr/bin/rename
: dowiązanie symboliczne, do/etc/alternatives/rename
którego sam jest dowiązaniem symbolicznym do/usr/bin/file-rename
skryptu.Skrypt Toma Christiansena jest dołączony do
Unicode::Tussle
modułu Perla . Prawdopodobnie go zainstalowałeś i właśnie to/usr/local/bin/rename
.źródło