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