[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Comando pasar mayusculas a minisculas





El 8 de marzo de 2009 1:55, Abilio Almeida Eiroa <aabilio@gmail.com> escribió:


El 8 de marzo de 2009 1:42, Gonzalo Rivero <fishfromsalta@gmail.com> escribió:

2009/3/7, Francisco Javier Aravena Jimenez <djmkchevette@gmail.com>:
> hola a todos esperando que se encuentren todos muy bien.
>  mi consulta es sencilla
>  es posible con algún comando pasar los nombre de los archivos de un
>  directorio de mayusculas a minusculas..???
>
>  es que tengo directorios llenos de archivos que necesito en
>  minusculas...
>
>  se puede ?
>  desde ya muchas gracias. es para modo texto, no tiene entorno grafico..

algún comando directo, no se, pero "man tr" + este hilo
http://lists.debian.org/debian-user-spanish/2009/02/msg01396.html que
se trató el mes pasado te pueden dar ideas para hacer un script con mv


--
To UNSUBSCRIBE, email to debian-user-spanish-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

Francisco, perdón, antes te respondí a tu mail, lo que te decía para que quede en la lista es esto:



Hombre pues para pasar todos los archivos de un directorio a minúsculas tienes esto:

$ ls |awk '{printf "mv %s %s\n", $1, tolower($1)}' | sh    (esto pasa directorios y archivos a minúscula)


Que si lo quieres rebuscar para que solo te pase a minúsculas podrías hacer algo así:

$ ls -l | grep ^d | cut -d' ' -f8 | awk '{printf "mv %s %s\n", $1, tolower($1)}' | sh   (esto solo directorios)

Añado también en la lista una opción con find para solo directorios:

$ find . -type d | grep / | cut -d/ -f2 | awk '{printf "mv %s %s\n", $1, tolower($1)}' | sh

para todos los archivos:

$ find . -name * | awk '{printf "mv %s %s\n", $1, tolower($1)}' | sh

Otra forma para todos los archivos es con tr:

$ ls | while read; do mv "$REPLY" $( echo "$REPLY" | tr "[:upper:]" "[:lower:]" ); done

NOTA: Cuidado si copias y pegas con las comillas por el formato.

Perdón por el mail a tu cuenta personal que te envié.

Se me olvidó exponerte solo el caso para archivos solo, sin pasar los directorios; sería:

$  find . -type f | awk '{printf "mv %s %s\n", $1, tolower($1)}' | sh

ATENCIÓN: Te lo pongo con "find" y no con "ls" por que es MUCHÍSIMO más fiable.
Así que mejor utiliza con find.



--
aabilio - http://linfox.es
expulsionporagresion.linfox.es


Reply to: