seleccion de archivos de manera aleatoria en bash???

Horst von Brand vonbrand en quelen.inf.utfsm.cl
Jue Dic 8 22:10:19 CLST 2005


Carlos Moyano Cubillos <cmcglnx en gmail.com> wrote:
> kiero realizar un scrip bash que me seleccione aleatoriamente una
> cantidad determinada de archivos desde una carpeta especifica
> (incluyendo sub directorios)..
> 
> mi pregunta es, como logro que sea una seleccion aleatoria??

Para que lo quieres? El numero de archivos es fijo ("Debo elegir 30
archivos") o no? Que estructura tiene el cuento?

Lo mas facil es hacerse una lista de todos los archivos, y elegir al azar
entre la lista... en bash(1) tienes la "variable" $RANDOM, un numero entero
al azar entre 0 y 32767.

Knuth, vol 2 tiene manejos para esta clase de cosas. IIRC, aca seria algo
como:

    Tienes N archivos, de los que requieres elegir m. El primero lo eliges
    con probabilidad m / N, si resulta electo el segundo con probabilidad
    (m - 1) / (N - 1); si no, con probabilidad m / (N - 1).

Esto sirve si m << N, si N - m es chico, mas vale elegir los que /no/
estan.
-- 
Dr. Horst H. von Brand                   User #22616 counter.li.org
Departamento de Informatica                     Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria              +56 32 654239
Casilla 110-V, Valparaiso, Chile                Fax:  +56 32 797513



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