Скажіть, у вас є файл notifications.txt
. Нам потрібно порахувати загальну кількість рядків, щоб визначити діапазон випадкового генератора:
$ cat notifications.txt | wc -l
Дозволяє писати в змінну:
$ LINES=$(cat notifications.txt | wc -l)
Тепер для генерації числа від 0
до $LINE
ми будемо використовувати RANDOM
змінну.
$ echo $[ $RANDOM % LINES]
Дозволяє записати його в змінну:
$ R_LINE=$(($RANDOM % LINES))
Тепер нам потрібно лише надрукувати цей рядок:
$ sed -n "${R_LINE}p" notifications.txt
Про 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.
Переконайтеся, що у вашому файлі менше 32767 номерів рядків. Дивіться це, якщо вам потрібен більший випадковий генератор, який працює поза коробкою.
Приклад:
$ od -A n -t d -N 3 /dev/urandom | tr -d ' '