Digamos que você tenha o arquivo notifications.txt
. Precisamos contar o número total de linhas, para determinar o alcance do gerador aleatório:
$ cat notifications.txt | wc -l
Permite escrever para a variável:
$ LINES=$(cat notifications.txt | wc -l)
Agora, para gerar o número de 0
a $LINE
, usaremos RANDOM
variable.
$ echo $[ $RANDOM % LINES]
Vamos escrever para a variável:
$ R_LINE=$(($RANDOM % LINES))
Agora só precisamos imprimir esse 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.
Certifique-se de que seu arquivo tenha menos de 32767 números de linha. Consulte this se precisar de gerador aleatório maior que funcione fora da caixa.
Exemplo:
$ od -A n -t d -N 3 /dev/urandom | tr -d ' '