Los comentarios no aparecen en su comentario; probablemente debería agregar esto como respuesta o editar su pregunta para incluir su solución.
Paul R
1
La mejor solución rápida que he encontrado ha sido usar el Automator incorporado. Consulte este artículo para obtener ayuda fácil paso a paso: tuaw.com/2008/11/11/…
nilay
Votaría la respuesta de nilay si no fuera un comentario ...
voidstate
Respuestas:
49
Con Homebrew , un administrador de paquetes para OS X:
brew install rename
Entonces puede ejecutar los mismos renamecomandos que en Linux.
pero ¿eso también permite el reemplazo de expresiones regulares? Esto parece ser solo un tipo de mejora de caparazón.
matemáticas
44
@brubelsabs: Sí, zmv puede hacer regexp de reemplazo . Para los archivos que coinciden *user*.html, cambie la extensión ay .htmlcambie todas las apariciones de rca final: zmv '(*user*).htm' '${1//rc/final}.html'@ghoppe: creo que el ejemplo zmv en su respuesta necesita -wo paréntesis alrededor de su comodín.
Chris Johnsen
Realmente me gusta esta sugerencia porque no necesitas instalar nada extra en una Mac (como brew), pero te permite usar la sintaxis simple de mmv like.
Hay
+1 Niza. Un par de diferencias con las expresiones regulares a las que estoy acostumbrado: 1) usar en *lugar de .*obtener todas. *?Parece funcionar como no codicioso .*?. 2) para mí, ^y $para el inicio y el final de la cadena parecía no coincidir con nada
user56reinstatemonica8
21
Torpe
for i in *.yourfiles; do mv "$i" "`echo $i | sed 's/old/new/g'`"; done
Y si quieres usarlo como lo hago a menudo de esta manera:
rename 's/old/new/' *.files
Recomiendo usar este pequeño script en ~ / bin / rename:
#!/usr/bin/env zsh
SUBSEXPR=$1
shift
for i in $@; do mv $i `echo "$i" | sed $SUBSEXPR`; done
su script no funciona para mí "cambiar el nombre de ACDC AC-DC ACDC *" resultado-> "ssed: no puede leer ACDC: No existe tal archivo o directorio", instalé rename util de linux y ahora funciona de todas formas
holms
5
Puede intentar instalar MacPorts e instalar el renameutilspaquete:
renameutils @ 0.10.0 (sysutils)
renameutils es un conjunto de programas diseñados para hacer que renombrar archivos sea más rápido y menos engorroso
qmves una gran herramienta, aunque un poco demasiado trabajo para renombrado de expresiones regulares simples, es fantástico para nombrar y mover grandes cantidades de archivos arbitrarios de forma inteligente
sapht
4
Hay varias versiones de renombrar . Parece que estás buscando el basado en Perl.
Una versión de esta utilidad viene con el módulo File :: Rename Perl. Puedes instalarlo con algo como sudo cpan -i File::Rename.
Una alternativa es la herramienta zmv que viene con zsh . No tiene la misma sintaxis, pero viene con su sistema operativo y puede solucionar fácilmente muchos de los casos comunes.
En Mac uso Aristóteles Pagaltzis, disponible gratuitamente rename, que al igual que Debian está basado en Perl. Puedes conseguirlo aquí . O visite aquí para leerlo primero, siempre es una buena idea.
Debe colocarlo en algún lugar de su $PATHy hacerlo ejecutable ( chmod +x rename) y luego estará listo para comenzar.
Simplemente seguí adelante y encontré mi favorito que he visto llamado perl-rename dando el renamecomando donde la ayuda se ve así:
Usage: rename [-v] [-n] [-f] perlexpr [filenames]
Así es como sé que obtuve el que me gusta.
Para Mac, incluso en Homebrew tienen otros en los que apenas recuerdo haber tenido problemas. Entonces no es el renamepaquete, y tampoco es el renameutilspaquete nongnu .
rename
en Mac OS X: macosxhints.com/article.php?story=20050630022203488Respuestas:
Con Homebrew , un administrador de paquetes para OS X:
Entonces puede ejecutar los mismos
rename
comandos que en Linux.fuente
rename-5.22
(donde 22 es la versión instalada) en lugar derename
sudo mv /opt/local/bin/rename-XXX /opt/local/bin/rename
Usa el poder de ZSH sabiamente (escribe
zsh
el terminal si eres una de esas pobres almas que no lo usan por defecto):ZMV sigue la sintaxis de MMV .
fuente
*user*.html
, cambie la extensión ay.html
cambie todas las apariciones derc
afinal
:zmv '(*user*).htm' '${1//rc/final}.html'
@ghoppe: creo que el ejemplo zmv en su respuesta necesita-w
o paréntesis alrededor de su comodín.*
lugar de.*
obtener todas.*?
Parece funcionar como no codicioso.*?
. 2) para mí,^
y$
para el inicio y el final de la cadena parecía no coincidir con nadaTorpe
Y si quieres usarlo como lo hago a menudo de esta manera:
Recomiendo usar este pequeño script en ~ / bin / rename:
fuente
Puede intentar instalar MacPorts e instalar el
renameutils
paquete:fuente
qmv
Parece que hace el trabajo.qmv
es una gran herramienta, aunque un poco demasiado trabajo para renombrado de expresiones regulares simples, es fantástico para nombrar y mover grandes cantidades de archivos arbitrarios de forma inteligenteHay varias versiones de renombrar . Parece que estás buscando el basado en Perl.
Una versión de esta utilidad viene con el módulo File :: Rename Perl. Puedes instalarlo con algo como
sudo cpan -i File::Rename
.O bien, puede ir con el cambio de nombre del paquete perl de Debian . Es solo un archivo para descargar. Póngalo donde quiera y modifíquelo para que sea ejecutable.
Una alternativa es la herramienta zmv que viene con zsh . No tiene la misma sintaxis, pero viene con su sistema operativo y puede solucionar fácilmente muchos de los casos comunes.
fuente
En Mac uso Aristóteles Pagaltzis, disponible gratuitamente
rename
, que al igual que Debian está basado en Perl. Puedes conseguirlo aquí . O visite aquí para leerlo primero, siempre es una buena idea.Debe colocarlo en algún lugar de su
$PATH
y hacerlo ejecutable (chmod +x rename
) y luego estará listo para comenzar.fuente
Esto no debería ser difícil, pero aparentemente lo es. Ejemplo, quiero cambiar el nombre de todas las extensiones de archivo de aiff a aifc.
fuente
Si está buscando una GUI, pruebe Name Mangler . Tiene una función de "vista previa" que muestra lo que sucederá si continúa con el cambio de nombre.
fuente
el comando equivalente en renamer (multiplataforma) es
fuente
Si te gusta la selección múltiple de Sublime Text, puedes usarlo con qmv:
fuente
Simplemente seguí adelante y encontré mi favorito que he visto llamado perl-rename dando el
rename
comando donde la ayuda se ve así:Usage: rename [-v] [-n] [-f] perlexpr [filenames]
Así es como sé que obtuve el que me gusta.
Para Mac, incluso en Homebrew tienen otros en los que apenas recuerdo haber tenido problemas. Entonces no es el
rename
paquete, y tampoco es elrenameutils
paquete nongnu .Lo obtuve desde aquí e hice la instalación como mencionan: https://github.com/subogero/rename
fuente