Digamos que tienes archivo notifications.txt
. Necesitamos contar el número total de líneas, para determinar el rango del generador aleatorio:
$ cat notifications.txt | wc -l
Vamos a escribir en la variable:
$ LINES=$(cat notifications.txt | wc -l)
Ahora para generar un número de 0
a $LINE
usaremos RANDOM
variable.
$ echo $[ $RANDOM % LINES]
Vamos a escribirlo en la variable:
$ R_LINE=$(($RANDOM % LINES))
Ahora solo necesitamos imprimir este número de línea:
$ sed -n "${R_LINE}p" notifications.txt
Acerca de ALEATORIO:
RANDOM Each time this parameter is referenced, a random integer between
0 and 32767 is generated. The sequence of random numbers may be
initialized by assigning a value to RANDOM. If RANDOM is unset,
it loses its special properties, even if it is subsequently
reset.
Asegúrese de que su archivo tenga menos de 32767 números de línea. Ver esto si necesita un generador aleatorio más grande que funcione de inmediato.
Ejemplo:
$ od -A n -t d -N 3 /dev/urandom | tr -d ' '