В моей системе Debian (хорошо, в моей системе LMDE, но достаточно близко) у меня есть по крайней мере 3 разные renameпрограммы:
/usr/local/bin/renameЭто сценарий Perl, написанный Томом Кристиансеном. Как ни странно, я не могу найти, какой пакет установил его:$ dpkg -S /usr/local/bin/rename dpkg-query: no path found matching pattern /usr/local/bin/rename/usr/bin/prename: еще один скрипт на Perl, написанный Робином Баркером, он входит вperlпакет:$ dpkg -S /usr/bin/prename perl: /usr/bin/prename/usr/bin/file-rename: еще один сценарий Perl, нет четкой информации об авторстве, но упоминаются и Ларри (предположительно Уолл) и Робин (предположительно Баркер). Этотrenameпакет устанавливается пакетом и также связан с/usr/bin/rename:$ dpkg -S /usr/bin/file-rename rename: /usr/bin/file-rename
У меня тоже есть rename.ulиз , util-linuxно давайте игнорировать , что один на данный момент. В чем разница между этими 3 скриптами Perl? Кажется, все они имеют одну и ту же справочную страницу man rename, man file-renameи man prenameвсе дают мне одну и ту же страницу.
Я мог бы пройтись по самим сценариям и попытаться понять различия, но это не тривиально, и я надеюсь, что кто-то узнает, какие функции у каждого есть, а у других нет. Бонусные баллы за объяснение, почему миру Debian нужны три отдельных сценария переименования Perl.
renameиз util-linuxкоторых находится rename.ulна Debian и renameна системах RedHat. Я упоминаю об этом в предпоследнем абзаце моего вопроса.
update-alternatives --display renameпоказывает для вас? Хотите знать, если это часть альтернативы после установки.
-vи -iварианты. Это старый, старый, старый скрипт без надлежащей документации за пределами его сообщения об использовании, но это стандартная рабочая лошадка для массовых перезаписываний имен файлов. Это один из двух или трех сценариев, которые я всегда хочу со мной, независимо от того, куда я иду.
util-linux-ngпакета. % file = переименовать / usr / bin / rename: исполняемый 64-битный LSB ELF, x86-64, версия 1 (SYSV), ...