Renombrar múltiples ficheros en GNU/Linux

Los que utilizan la shell de GNU/Linux saben que con el comando mv no es posible renombrar varios ficheros o directorios a la vez, con lo que hay que hacer algún tipo de bucle for/while o similar para poder hacer el procedimiento deseado, no obstante se puede realizar de una manera más sencilla utilizando el comando rename.

1) Quiero renombrar todos los ficheros con extensión html a php utilizando el comando mv

$ ls
1.html 2.html 3.html
$ mv *.html ????? (no se puede realizar!)

2) Quiero renombrar todos los ficheros con extensión html a php utilizando un bucle for y mv

$ ls
1.html 2.html 3.html
$ for h in *.html; do mv $h `echo $h | sed 's/\.html/.php/'`; done
$ ls
1.php 2.php 3.php

3) Quiero renombrar todos los ficheros con extensión html a php utilizando el comando rename

$ ls
1.html 2.html 3.html
$ rename 's/\.html$/.php/' *.html
$ ls
1.php 2.php 3.php

Como se puede observar, con el comando rename la operación es mucho más sencilla y clara que utilizar for junto con mv, logrando utilizar una expresión regular para ello.

El comando rename permite realizar expresiones regulares, así que el abanico de posibilidades es muy amplio para realizar otro tipo de tareas relacionadas.

Compártelo:
  • Bitacoras.com
  • Meneame
  • Facebook
  • Wikio
  • BarraPunto
  • del.icio.us
  • email
  • Add to favorites
  • Digg
  • Google Bookmarks
  • Netvibes

Posts relacionados:

Un Comentario

  1. Bitacoras.com Dice:

    Información Bitacoras.com…

    Valora en Bitacoras.com: Los que utilizan la shell de GNU/Linux saben que con el comando mv no es posible renombrar varios ficheros o directorios a la vez, con lo que hay que hacer algún tipo de bucle for/while o similar para poder hacer el procedimi….

Deja tu comentario

Recuerda: Sé respetuoso y educado con el resto de los lectores. No utilices palabras malsonantes o expresiones inapropiadas.

Gracias por comentar :D