Предсказуемо случайное перемешивание строк ввода с помощью bash $ RANDOM не работает

У меня на входе около 100 строк. Я хочу перемешать их "случайным образом", но хочу контролировать это. т.е. я хочу засеять генератор случайных чисел, чтобы всегда производить один и тот же порядок.

Я подумал, что могу использовать переменную bash (1) $ RANDOM , но это всегда дает другой результат. Что не так?

RANDOM=1 cat myfile | while read LINE ; do echo "$RANDOM $LINE" ; done | sort
1
задан 23 June 2020 в 15:32
1 ответ

Конвейер состоит из 3 разных процессов, поэтому вам нужно заполнить RANDOM в соответствующем:

cat myfile | 
(RANDOM=1; while read LINE ; do echo "$RANDOM $LINE" ; done ) |
sort
2
ответ дан 23 June 2020 в 16:27

Теги

Похожие вопросы