logo

Cambiando carácteres en el nombre de varíos ficheros
30.3.06


Todos aquellos que trabajan habitualmente con Linux se encuentran muchas veces con ficheros procedentes de Windows cuyos nombres contienes carácteres que no son habituales en el código libre. Es el caso de los espacios, las eñes y otros. Por tanto, a veces hay que realizar un renombrado del fichero o cambiar esos caracteres por otros más amigables para Linux. Si es necesario trabajar con muchos ficheros, la tarea de renombrarlos a mano es algo tediosa.

El comando tr (translate) es nuestro aliado ya que permite reemplazar cadenas de archivos de texto, ya sea cambiando letras, números, mayúsculas o eliminando espacios en blanco. Su potencia es mucho mayor si se combina en la línea de comandos con bucles u órdenes, como find, cat, do y otros.

Una situación real podría ser cambiar de golpe el nombre de 100 ficheros en los cuáles hay espacios (p.e. 'fichero 1.txt', 'fichero 2.txt', ..., 'fichero 100.txt') por guiones bajos (p.e. fichero_1.txt, fichero_2.txt, ..., fichero_100.txt).

El siguiente script lo realizaría de forma sencilla y de golpe:

#!bin/bash

for i in *txt;
do mv -v "$i" `echo $i | tr ' ' '_'` ;

done


Cambiando el contenido entre comillas que precede a tr puede realizarse cualquier cambio que se desee en el nombre del fichero. (P.e., do mv -v "$i" `echo $i | tr 'a-z' 'A-Z'` ; cambiaría todas las minúsculas por mayúsculas).

El script subspace de EonWorks hace lo mismo. En el número 6 de la revista Linux Magazine hay un artículo sobre el comando tr.

>> Publicado en Categoría: Linux

| Permalink | Enlaces a este artículo | Enviar por correo-e |

Marcadores sociales: Meneame | Fresqui | Facebook | FriendFeed | Google Bookmarks | Yahoo! My Web | Technorati | Twitter | Delicious |

1 Comentarios:

El 3/31/2006 12:40:00 p. m., Anonymous Anónimo tuvo la amabilidad de comentar aquí:

Renombrar ficheros por lotes pude ser más sencillo si se utiliza una interface gráfica como Krename que funciona con KDE y Gnome.
http://www.krename.net/

 

Publicar un comentario

<< Principio


2.0