De onde vem o rename
comando?
user@host> dpkg -S /usr/bin/rename
dpkg-query: no path found matching pattern /usr/bin/rename
command-line
dpkg
rename
guettli
fonte
fonte
rename
que acompanha o Fedora é diferente, no entanto. Parece ser um programa compilado e não é tão poderoso quanto orename
que acompanha o Ubuntu. Portanto, tenha cuidado ao usar scripts em uma distribuição Linux diferente.prename
Respostas:
Surpreendentemente, vem do
rename
pacote.fonte
dpkg -S
não segue o link simbólico? Bug ou recurso?dpkg
é trabalho.dpkg
lida apenas com pacotes instalados. Useupdate-alternatives --query rename
, ele irá mostrar-lhe o caminho do link resolvidodpkg
/dpkg-query
oferecesse essas informações convenientemente. No entanto, não acho quedpkg -S
deveria desreferir silenciosamente os links simbólicos até encontrar um arquivo de pacote.dpkg -S foo
não deve encontrar o comandofoo
, ele encontra o pacote que instalou o arquivofoo
e é mais útil quando chamado com o caminho absoluto de um arquivo. Seria bom sedpkg -S /usr/bin/rename
explicado por que nenhum pacote fornece esse link simbólico, mas acho que ainda deve dizer a verdade que nenhum pacote fornece.Você provavelmente descobrirá que é um link simbólico gerenciado pelo
update-alternatives
mecanismo:Você pode ver as implementações opcionais usando
e pode escolher entre implementações usando
O FWIW
file-rename
é fornecido pelorename
pacote, enquanto o originalprename
é fornecido porperl
ele mesmo. Deapt-cache show rename
:Como se isso já não fosse suficientemente confuso, você também pode encontrar outro
rename
doutil-linux
pacote - consulte O que há com todas as renomeações?fonte
Se estamos falando
/usr/bin/rename
, que é um script perl bastante bacana, orename
comando pertence ao seu próprio pacote separado.No caso do shell Korn e seus derivados,
rename
é um comando interno do shell .fonte
rename
comando, masrename
não é apenas referida/usr/bin/rename
, como você vê na minha resposta. Os usuários que possuem shells ksh ou mksh podem não estar cientes disso. Quando eu comecei pessoalmentemksh
, fiquei muito perplexo quandorename
não estava aceitando a expressão regular, até perceber que eram duas coisas diferentes. Além disso, não tome minhas palavras "Se estamos falando de x", literalmente, considerá-lo como uma maneira de dizer "Em caso de"