[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]
[Hilos de Discusión] [Fecha] [Tema] [Autor]On 10/20/05, Cristian Othon Martinez Vera <cfuga en linuxppp com> wrote:
> for i in `find /directorio/inicial -type d`; do
> cd "${i}" && \
> for j in *; do
> nvonombre=`tr [:upper:] [:lower:] "${j}"`
> mv -f "${j}" "${nvonombre}"
> done
> done
Ug... mandará algunos mensajes de error... tienes que preveer
espacios y duplicidad de nombres por ejemplo.
Algo más lento pero más seguro:
find . -depth | awk '{gsub(" ", "_"); n=tolower($0); printf "[ -f %s ]
|| mv \"%s\" %s\n", n, $0, n}'
Notas:
El -depth del find hace que se procese primero el contenido del directorio.
Esto lo que regresa son los comandos que deberan ejecutarse. Tengo
por costumbre
primero ver que hará para despues hacerlo. La salida la mandas a
"less" y puedes
examinar lentamente lo que hará. Despues lo pasas por "bash" y listo.
--
Saludos,
Toño
----
http://agc.com.mx/antoniogc/blog