¿De dónde rename
viene el comando?
user@host> dpkg -S /usr/bin/rename
dpkg-query: no path found matching pattern /usr/bin/rename
command-line
dpkg
rename
guettli
fuente
fuente
rename
embargo, el que viene con Fedora es diferente. Parece ser un programa compilado y no es tan poderoso como elrename
que viene con Ubuntu. Así que tenga cuidado cuando use scripts en una distribución de Linux diferente.prename
Respuestas:
Sorprendentemente, proviene del
rename
paquete.fuente
dpkg -S
no sigue el enlace simbólico? ¿Error o característica?dpkg
es el trabajo.dpkg
solo trata con paquetes instalados. Usoupdate-alternatives --query rename
, le mostrará la ruta de enlace resueltadpkg
/dpkg-query
ofreciera esta información convenientemente. Sin embargo, no creo quedpkg -S
deba eliminar silenciosamente los enlaces simbólicos hasta que encuentre un archivo de paquete.dpkg -S foo
se supone que no encuentra el comandofoo
, encuentra el paquete que instaló el archivofoo
y es más útil cuando se invoca con la ruta absoluta de un archivo. Sería bueno si sedpkg -S /usr/bin/rename
explicara por qué ningún paquete proporciona ese enlace simbólico, pero creo que aún debería decir la verdad que ningún paquete lo hace.Probablemente encontrará que es un enlace simbólico administrado por el
update-alternatives
mecanismo:Puede ver las implementaciones opcionales usando
y puede elegir entre implementaciones usando
FWIW
file-rename
proporcionarename
, mientras que el originalprename
se proporcionaperl
solo. Deapt-cache show rename
:Como si esto ya no fuera lo suficientemente confuso, también puede encontrar otro más
rename
desde elutil-linux
paquete - ver ¿Qué pasa con todos los cambios de nombre?fuente
Si estamos hablando
/usr/bin/rename
, que es un script perl bastante ingenioso, entonces elrename
comando pertenece a su propio paquete separado.En el caso de Korn shell y sus derivados,
rename
es un comando incorporado de shell.fuente
rename
comando, perorename
no solo se menciona/usr/bin/rename
, como puede ver en mi respuesta. Los usuarios que tienen shells ksh o mksh pueden no ser conscientes de eso. Cuando comencé personalmentemksh
, estaba muy desconcertado cuandorename
no aceptaba la expresión regular, hasta que me di cuenta de que eran dos cosas diferentes. Además, no tome mis palabras "Si estamos hablando de x" literalmente, considérelo como una forma de decir "En caso de"