Bash tip: Renombrar masivamente (I) - Userlinux.net

¿Quién no ha querido alguna vez quitar los dichosos espacios que tenemos siempre en los mp3 que nos bajamos o que nos pasan?. Bien, pues mirando un poco de bash, y recibiendo alguna que otra ayuda y consejo, fijémonos que el siguiente script hace exactamente eso: bash-2.05b$ for i in…

Bash tip: Renombrar masivamente (I)

12.Dec.2003 ~ 5 Comentarios ~ 2480 Lecturas
¿Quién no ha querido alguna vez quitar los dichosos espacios que tenemos siempre en los mp3 que nos bajamos o que nos pasan?. Bien, pues mirando un poco de bash, y recibiendo alguna que otra ayuda y consejo, fijémonos que el siguiente script hace exactamente eso:
bash-2.05b$ for i in *.mp3; do mv "$i" `echo "$i" | tr ' ' '_'`; done
Y si ahora renombramos todas nuestras fotos (unas 100 o así) de foto01 a img01, ¿haremos la misma operación 100 veces? NO, para eso está el bash:
bash-2.05b$ for i in `ls *jpg`; do mv "$i" `echo "$i" | sed 's/foto/img/'`; done
Categorías: sistemas

Comentarios


gravatar
13.Dec.2003
Mola :D

Yo hace tiempo, en mis épocas del modem 56k y cuando me daba por descargar esos típicos discos de mp3 en páginas de mala muerte donde te encontrabas los mp3 con la extensión renombrada (a .pdf , .zip ...) me tuve que idear una forma de poder renombrar más de 50 ficheros que tenía con extensión .zip a .mp3.

$ ls
total 4,0K
-rw-r--r-- 1 neuronal users 0 2003-12-13 00:34 32a.zip
-rw-r--r-- 1 neuronal users 0 2003-12-13 00:34 aaas.zip
-rw-r--r-- 1 neuronal users 0 2003-12-13 00:34 aaqa.zip
-rw-r--r-- 1 neuronal users 0 2003-12-13 00:34 aas2wsd.zip
-rw-r--r-- 1 neuronal users 0 2003-12-13 00:34 aasd.zip
-rw-r--r-- 1 neuronal users 0 2003-12-13 00:34 aas.zip
-rw-r--r-- 1 neuronal users 0 2003-12-13 00:34 aa.zip
-rw-r--r-- 1 neuronal users 0 2003-12-13 00:34 a.zip

$ rename .zip .mp3 *.zip
$ ls
total 4,0K
-rw-r--r-- 1 neuronal users 0 2003-12-13 00:34 32a.mp3
-rw-r--r-- 1 neuronal users 0 2003-12-13 00:34 aaas.mp3
-rw-r--r-- 1 neuronal users 0 2003-12-13 00:34 aa.mp3
-rw-r--r-- 1 neuronal users 0 2003-12-13 00:34 aaqa.mp3
-rw-r--r-- 1 neuronal users 0 2003-12-13 00:34 aas2wsd.mp3
-rw-r--r-- 1 neuronal users 0 2003-12-13 00:34 aasd.mp3
-rw-r--r-- 1 neuronal users 0 2003-12-13 00:34 aas.mp3
-rw-r--r-- 1 neuronal users 0 2003-12-13 00:34 a.mp3

Y bueno, para convertir espacios a _ más o menos también se podría con rename pero utilizando un for para aquellos ficheros con más de un espacio:

$ ls
total 20K
-rw-r--r-- 1 neuronal users 0 2003-12-13 00:50 1 2 3 4 5 6
-rw-r--r-- 1 neuronal users 0 2003-12-13 00:50 a b c d.tzt
-rw-r--r-- 1 neuronal users 18K 2003-12-13 00:49 c + +
-rw-r--r-- 1 neuronal users 0 2003-12-13 00:49 hola pepe.kk
-rw-r--r-- 1 neuronal users 0 2003-12-13 00:49 mierda de ti.ace

$ for i in *; do rename " " _ *" "* 2>/dev/null; done
$ ls
total 20K
-rw-r--r-- 1 neuronal users 0 2003-12-13 00:50 1_2_3_4_5_6
-rw-r--r-- 1 neuronal users 0 2003-12-13 00:50 a_b_c_d.tzt
-rw-r--r-- 1 neuronal users 18K 2003-12-13 00:49 c_+_+
-rw-r--r-- 1 neuronal users 0 2003-12-13 00:49 hola_pepe.kk
-rw-r--r-- 1 neuronal users 0 2003-12-13 00:49 mierda_de_ti.ace
-rw-r--r-- 1 neuronal users 0 2003-12-13 00:49 ui_sja_ad.mp3

le he metido un 2>/dev/null porque aparecen mensajes de error aunque si que hace lo que tiene que hacer (que le den, "ojos que no ven corazón que no llora" --> 2>/dev/null XD) Eso demuestra que es una chapuza en toda regla, pero joder... mi cerebro ya no da para más XD

Un saludo

gravatar
13.Dec.2003
Son formas distintas de hacer lo mismo, es interesante ver como "piensan" los demás. Yo también me lo apunto.

gravatar
coder
15.Dec.2003
...neuronal no es que piense demasiado xDDDD

gentooza!

gravatar
15.Dec.2003
Si señor, que bribones estais hechos, muy util, ahora lo que a mi me interesaría es que pudiera ser recursivo (-R), jeje... ¿sabeis como?
aviso, yo si que no pienso... mi cerebro lo debieron hacer con windows o algo, porque se me cuelga bastante xD

gravatar
roberto
23.Dec.2003
# apt-get install perl
# man rename

;)

Comentarios


Los comentarios están cerrados: los comentarios se cierran automáticamente una vez pasados 15 días. Si quieres comentar algo acerca de la anotación, puedes hacerlo por e-mail.

Buscar

Cargando...

Últimos comentarios

  • graffic
  • reidrac
  • reidrac
  • Wu
  • dilam
  • r0sk
  • reidrac
  • r0sk
  • chucu
  • r0sk
  • el_palomo_programador
  • r0sk
  • reidrac
  • Player 1
  • r0sk

Moneting

Valor de mi cuenta de Facebook según Moneting
Valor de mi cuenta de Twitter según Moneting

Tagcloud

barça cakephp django juegos league macosx champions web personal sidenotes cake bsd ubuntu ds twitter cumpleaños bake ps3 programación rfilms rsidenotes felicidades userlinux sysadmin blog games nintendo conciertos php mysql deportes blogsfera apple iphone futbol vacaciones canción debian alemania_2006 linux bash 2008 python seguridad freebsd twitt humor ssh lucux mac mundial 2007 meme hack opinion films frases lugo openbsd blogs

Archivo

Social

Enlaces de interés