Qual é a diferença entre os diferentes comandos de renomeação?

8

Desde o Ubuntu 14.04 existem pelo menos três comandos rename :

  1. rename fornecido pelo pacote util-linux , consulte man rename.ul
  2. rename fornecido pelo pacote perl , consulte man prename
  3. rename fornecido pelo pacote rename , consulte arquivo do homem renomear

    • Quais são exatamente as diferenças entre esses comandos?
    • Por que existem vários pacotes fornecendo comandos diferentes usando o mesmo nome? Suponho que não seja um acidente ou é?
    • Não seria muito simples para o pacote perl incluir o comando "full" rename ou não incluir o comando rename ? Por que essa divisão aparentemente incompleta é mantida pelo menos até o Ubuntu 17.04?
por dessert 15.09.2017 / 08:45

1 resposta

4
  

Por que existem dois pacotes fornecendo comandos diferentes usando o mesmo nome (se não por acidente)?

Isso não é incomum. Os autores geralmente escolhem o nome de comando mais simples em que pensam, portanto, se duas pessoas escreverem um comando para renomear arquivos, é provável que o nomeiem rename . Essa é uma das razões por trás do sistema Debian Alternatives - permite que os pacotes que fornecem comandos com nomes semelhantes coexistam e que um pacote seja substituído outro. Por exemplo, existem várias implementações do AWK - mawk , original-awk , gawk (embora todas elas se refiram como awk). Com o sistema de alternativas, você pode instalá-los todos ao mesmo tempo e alternar convenientemente entre qualquer um deles como o padrão awk .

Neste caso específico, prename vem do código-fonte Perl. Os mantenedores do pacote Debian originalmente tinham rename o Perl, então mudaram para o sistema de alternativas, para acomodar o rename de util-linux . Então alguém escreveu uma versão melhorada do rename do Perl em File-Rename Perl módulo , que foi então adicionado como outra alternativa. Mas esse não é o único módulo Perl para renomear arquivos.

  

Não seria bastante simples para o pacote perl incluir o comando "full" rename ou não incluir o comando rename ? Por que essa divisão aparentemente incompleta é mantida pelo menos até o Ubuntu 17.04?

Veja o erro da Debian # 735134 para saber como esta situação evoluiu. Geralmente, os mantenedores do Debian preferem usar pelo menos uma versão ao fazer algo drástico, como substituir um comando de trabalho por outro. prename foi mantido por jessie e agora foi removido para o buster. Além disso, parece que rename não estará mais no sistema de alternativas, pois rename.ul é muito incompatível. rename será apenas file-rename .

Como o Ubuntu geralmente pega mudanças de pacotes do Debian, o que acontece com rename no Debian será escolhido pelo Ubuntu mais cedo ou mais tarde, provavelmente em 18.04. Parece ser tarde demais para 17.10.

  

Quais são exatamente as diferenças entre esses comandos?

Fundamentalmente, tanto prename como file-rename executam expressões Perl para renomear arquivos. file-rename é apenas mantido ativamente e suporta mais opções. rename de util-linux funciona de forma totalmente diferente, tem suas próprias regras para padrões.

    
por muru 15.09.2017 / 09:19