Personaliza con Geeks & Linux Atelier!:
mmv – mover multiples files

Este post me lo encontré en cyb3rpunk, justo en un momento que esta buscando hacer algo como mv (move) pero mas facil, asi que lo comparto con ustedes…

Es un vil plagio asi que [copy paste mode: ON]

Hoy lo conocí gracias a un post del thread the little things that make you go ‘ooh, nice’ en los foros de Archlinux.

Se trata de un comando que es combinación de los comandos rename y mv y otros elementos básicos de bash. Puede copiar/mover/agregar/enlazar, nada que no se pueda hacer con los comandos de siempre. Pero lo que hace a mmv especial es la sencillez en su uso al enfocarse en las expresiones regulares.

Según el man de mmv:

DESCRIPTION
Mmv moves (or copies, appends, or links, as specified) each source file matching a from pattern to the target name specified by the to pattern. This multiple action is performed safely, i.e. without any unexpected deletion of files due to collisions of target names with existing filenames or with other target names. Furthermore, before doing anything, mmv attempts to detect any errors that would result from the entire set of actions specified and gives the user the choice of either proceeding by avoiding the offending parts or aborting. mmv does support large files (LFS) but it does *NOT* support sparse files (i.e. it explodes them).

Para utilizarlo en Archlinux hay que bajarlo de AUR.

Ejemplo de uso:

1 > mmv 'dsc*.jpeg' 'foto#1.jpg'

Si tenemos 66 archivos jpeg dsc0, dsc1, dsc2, etc… los renombramos a foto0, foto1, foto2, etc… además de cambiarles la extensión a jpg. #1 sustituye el valor de la expresión regular.

Algo más complejo (ni tanto):

1 > mmv '*foto*.jp*' '#1foto_#2.jp#3'

Aquí agregaremos un guión bajo(_) a todos los archivos con extensión jpg/jpeg que contengan la palabra “foto”.

#1, #2, #3, #n sustituyen el valor de las expresiones regulares que se especifiquen en el “from”.

Otro:

1 > mmv ';*.htm' '#1#2.html'

El puntoycoma(;) mmv lo interpreta como subdirectorio. En este comando se está renombrando todos los archivos .htm a .html ubicados en el directorio actual y sus subdirectorios.
#1 viene a sustituir el puntoycoma(;) que es tomado como parte de la expresión regular.

Mas sencillo, ¿no?

Fuentes:
http://elchonline.net/wiki/mmv
http://linux.dsplabs.com.au/mmv-copy-append-link-move-multiple-files-under-linux-shell-bash-by-wildcard-patterns-p5/

[copy paste mode: OFF]

este post vino en buen momento….


  1. Vamos... sabemos que quieres comentar algo ;)

  1. [...] This post was mentioned on Twitter by Pablo Olmos de A. C., Mauro Morel, Geeks & Linux!, Pablo N. , Geeks & Linux! and others. Geeks & Linux! said: Blog: mmv – mover multiples files http://bit.ly/9i1OUx [...]

  2. Jorgicio (Responder) El 25 de Abril del 2010 a las 12:55

    Está bueno, aunque prefiero algo mucho mejor:

    Usar zsh como shell por defecto, y hacer esto:

    mv {archivo1,archivo2,…,archivon} destino

    Y listo, mato varios pájaros de un tiro :D

  3. [...] mmv – mover multiples files. Categorías:Manejo de Archivos Comentarios (0) Trackbacks (0) Dejar un comentario [...]


Avísame de los futuros comentarios via e-mail. También puedes suscribirte sin comentar.

XHTML: Puedes utilizar (con criterio) estas etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>