Script CAPS

Cristian Gutierrez crgutier en dcc.uchile.cl
Jue Nov 4 00:13:01 CLST 2004


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
crgutier[@]dcc.uchile.cl                        Jabber:crgutier en jabber.org

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




Más información sobre la lista de distribución Linux