Hoy en la noche, Gustavo Chain dijo:
> Holap, quisiera saber como debería hacer un script q transformara (de
> manera recursiva) archivos o carpetas escritos en mayusculas a
> minusculas.
>
> FILE.XYZ ---> file.zyz

Aqui va mi intento de solucion; gustoso acepto criticas:

,----
| /tmp $ find DIR -depth
| DIR/DIR CON ESPACIO 1/ARCHIVO CON ESPACIO 12
| DIR/DIR CON ESPACIO 1/ARCHIVO CON ESPACIO 11
| DIR/DIR CON ESPACIO 1
| DIR/ARCHIVO CON ESPACIO 1
| DIR/DIR CON ESPACIO 2/ARCHIVO CON ESPACIO 22
| DIR/DIR CON ESPACIO 2/ARCHIVO CON ESPACIO 21
| DIR/DIR CON ESPACIO 2
| DIR/ARCHIVO CON ESPACIO 2
| DIR/ARCHIVO CON ESPACIO 3
| DIR
|
| /tmp $ find dir  -depth -print0 |\
|        perl -MPOSIX -ln0e '
|          if (/(.*\/)([^\/]+)$/) {
|            my ($prefix, $last) = ($1,$2);
|            $cwd = getcwd;
|            chdir $prefix;
|            rename($last, uc $last);
|            chdir $cwd;
|          } else { rename($_, uc $_) }
|        '
|
| /tmp $ find dir -depth
| dir/dir con espacio 2/archivo con espacio 21
| dir/dir con espacio 2/archivo con espacio 22
| dir/dir con espacio 2
| dir/archivo con espacio 2
| dir/archivo con espacio 3
| dir/dir con espacio 1/archivo con espacio 11
| dir/dir con espacio 1/archivo con espacio 12
| dir/dir con espacio 1
| dir/archivo con espacio 1
| dir
`----


--
Cristian Gutierrez                      http://www.dcc.uchile.cl/~crgutier
[EMAIL PROTECTED]                        Jabber:[EMAIL PROTECTED]

"Unix is simple, but it takes a genius to understand the simplicity." -
Dennis Ritchie

Responder a