Para cambiar el nombre de todos los ficheros de un directorio escribimos la siguiente orden :
ls | awk ‘{printf “mv %s %s\n”, $1, tolower($1)}’ | sh
Para cambiar el nombre de todos los ficheros de un directorio escribimos la siguiente orden :
ls | awk ‘{printf “mv %s %s\n”, $1, tolower($1)}’ | sh
RSS feed para los comentarios de esta entrada. URI para TrackBack.
Tema Rubric. Blog de WordPress.com.
NO me tira me da un error
$ ls | awk ‘{printf “mv %s %s\n”, $1, tolower($1)}’ | sh
bash: error de sintaxis cerca de token no esperado `(‘
Comentario por davor — noviembre 1, 2006 @ 3:11 pm |
Puede que el error te le esté dando por usar las comillas incorrectas antes y después de las llaves. Hay que usar la comilla simple ( ‘ ) no el acento ( ´ ). Dentro del printf van las dobles “.
Comentario por Chema — noviembre 2, 2006 @ 2:26 pm |
¿Coómo podría mover todos los archivos “.dat” de un directorio, independientemente si están en mayúsculas o en minúsculas?
Comentario por Alejandro — noviembre 21, 2007 @ 10:00 am |
Otra forma:
ls | while read; do mv “$REPLY” $( echo “$REPLY” | tr “[:upper:]” “[:lower:]” ); done
Pero esta ultima forma falla si los archivos tienen espacio en blanco.
Comentario por Sebastian Narvaez — mayo 15, 2008 @ 6:33 pm |
Al menos en Debian existe la orden rename.
Por ejemplo, para cambiar de mayúsculas a minúsculas los nombres de varios ficheros:
rename ‘y/A-Z/a-z/’ *
Comentario por Debianero — julio 6, 2009 @ 3:07 pm |
Me sirvió este. Muchas gracias parcero (y)
cita: ls | while read; do mv “$REPLY” $( echo “$REPLY” | tr “[:upper:]” “[:lower:]” ); done
Comentario por Mauricio Vargas — abril 20, 2010 @ 3:47 am |
Esta muy buena esta instrucción!! saludos
Comentario por iingen — agosto 2, 2011 @ 1:19 am |