Digamos que você tenha um arquivo notifications.txt
. Precisamos contar o número total de linhas, para determinar o intervalo do gerador aleatório:
$ cat notifications.txt | wc -l
Vamos escrever para a variável:
$ LINES=$(cat notifications.txt | wc -l)
Agora, para gerar o número de 0
para $LINE
, usaremos a RANDOM
variável
$ echo $[ $RANDOM % LINES]
Vamos escrevê-lo na variável:
$ R_LINE=$(($RANDOM % LINES))
Agora só precisamos imprimir este número de linha:
$ sed -n "${R_LINE}p" notifications.txt
Sobre a RANDOM:
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.
Verifique se o seu arquivo tem menos de 32767 números de linha. Veja isso se você precisar de um gerador aleatório maior que funcione imediatamente.
Exemplo:
$ od -A n -t d -N 3 /dev/urandom | tr -d ' '