El 8 de marzo de 2009 1:55, Abilio Almeida Eiroa <[email protected]>escribió:

>
>
> El 8 de marzo de 2009 1:42, Gonzalo Rivero <[email protected]>escribió:
>
> 2009/3/7, Francisco Javier Aravena Jimenez <[email protected]>:
>> > 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 [email protected]
>> with a subject of "unsubscribe". Trouble? Contact
>> [email protected]
>>
>> 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
>
>


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

Responder a