Quiero generar, digamos 10 números aleatorios entre 100 y 200 (ambos incluidos). ¿Cómo lo hago con rand?
command-line
ignacio caviedes
fuente
fuente

rand? LaRANDOMvariable?/dev/random?/dev/urandom?rando estorand?Respuestas:
Si te refieres a la
randde larandpaquete (en contraposición a la de OpenSSL), no es compatible con un límite inferior, solamente un límite superior. Lo que puedes hacer es el truco shift-lower-bound-to-zero-then-add-lower-bound:-Nes la cantidad de números aleatorios que necesitas-Msería el límite superior de lasrandsalidas de números , entonces ( max - min = 100)-e -d '\n'establece el delimitador en una nueva línea. Eso es por conveniencia de procesamiento porawk.El
awkcódigo luego toma cada línea y le agrega 100.fuente
Utilizando
python:Salida:
Aquí he usado el
randommódulo depythonpara generar 10 (range(10)) enteros aleatorios entre 100 y 200 (incluidos) (random.randint(100, 200)).fuente
Aquí hay una manera de Perl:
También podría usar
/dev/urandom(adaptado de aquí ):fuente
También puedes usar
awk:fuente
Con
shufGNU coreutils:fuente
Puedes usar
$RANDOM.fuente
Versión bash
Nada espectacular: simple emulación de for loop con
icontador ywhile. El rango se establece usando laif . . . else . . .fiestructura. Nota al margen: mi indicador es primero el directorio de trabajo, luego el área de entrada, así que no se confunda con lo que vebashRadom.sh:Versión C
Este es el código que he estado usando mientras tomé la clase C en mi universidad. La pequeña edición que agregué para ajustarse a esta pregunta es el uso de argumentos de línea de comandos (en lugar de codificar valores en la fuente)
randfunc.c:fuente
randombiblioteca: stackoverflow.com/a/19728404/2072269 , stackoverflow.com/a/19666713/2072269