Unix - Cambiar nombre de archivos

 
Vista:

Cambiar nombre de archivos

Publicado por Iñigo (1 intervención) el 25/11/2008 12:29:58
Hola a todos!

Me llevo devanando los sesos unas cuantas horas con esto. Supongo que le habrá pasado a alguien. Tengo que renombrar una serie de archivos que tienen al final de su nombre una fecha. El formato de los archivos es "DESCRIPCION_FECHA". Hata ahora parece simple pero el tema se complica porque: Primero, la descrpcion es variable en longitud y Segundo, el delimitador "_" aparece a veces en la descripcion y no sólo antes de la fecha.

Lo que es seguro es que la fecha tiene formato aaaammdd. Existe algún comando que me permita renombrar cortando por la derecha en vez de por la izquierda???

Muchas Gracias a todos!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Cambiar nombre de archivos

Publicado por Antoni Masana (21 intervenciones) el 26/11/2008 06:21:52
Podrias utilizar la una AWK que te devuelva la longitud de la descripcion sin o con el "_".

Ejemplo:

for nombre in *
do
lon=`echo $nombre | awk ´{ printf("%d", lenght($0) - 9) } ' `
des=`echo $nombre | cut -c1-$lon # Nombre`
mv $nombre ${des}_NEW
done

Este ejemplo renombraria el fichero:

Antoni_Masana_20081126

como

Antoni_Masana_NEW
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Cambiar nombre de archivos

Publicado por Tom (178 intervenciones) el 26/11/2008 13:27:07
expr $NOMBRE : '(.*)_[^_][0-9]*'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar