seleccion de archivos de manera aleatoria en bash???
Pablo Salinas Rivera
psalinasrivera en gmail.com
Vie Dic 9 15:34:28 CLST 2005
Alvaro Herrera wrote:
> Carlos Moyano Cubillos escribió:
>
>
>>probe con las soluciones que han mencionado y tengo problemas con los
>>caracteres especiales y espacios. lo malo es que no tengo idea como
>>solucionarlo.
>
>
> Una idea seria que en lugar de generar la lista con find, usaras
> ls -RQ, o sea
>
> lista=($(ls -RQ /donde/esta/))
>
> Eso le pone comillas a cada item, no se si bash sera suficientemente
> inteligente como para interpretarlo correctamente.
no, no lo es.
> El problema es que
> no apareceran solo los archivos en la lista sino tambien los
> directorios ...
> Otra idea seria procesar la salida del find para agregarle comillas,
>
> find /donde/ -type f | sed -e 's/.*/"&"'
tampoco, siempre el espacio sera un delimitador..
una solucion menos limpia seria crear un archivo, q tenga el nombre de 1
archivo por linea, y con comillas..
find /ruta/ -type f | awk '{print("\""$0"\"");}' > /tmp/archivos
despues en un ciclo..:
for 1 -> N... do...
num=$[RANDOM*$(wc -l /tmp/archivos)/32767]
imprimir la linea $num de /tmp/archivos #tarea para el interesado ;)
done
se permiten valores repetidos? porque $RANDOM le hace honor a su nombre, y
podria entregar valores repetidos... p(N) q eso ocurra? JA!...
--
pablo salinas rivera
usuario linux #221909 (http://counter.li.org)
Más información sobre la lista de distribución Linux