Есть ли способ разделить поток символов, сгенерированный из / dev / urandom, на разные подпотоки? - PullRequest
0 голосов
/ 25 августа 2018

Мне нужно взять высокоскоростной поток случайных чисел, сгенерированных аппаратным устройством, и разделить его на разные подпотоки.Для целей тестирования я рассмотрел / dev / urandom в качестве источника данных.Есть ли какой-нибудь инструмент для Linux?Если нет - пожалуйста, помогите с bash-скриптом сделать это.Сумма скоростей подпотока должна в сумме составлять начальную скорость потока (или быть близкой).Подпотоки позже отправляются конечному пользователю путем создания сокета между netcat и / dev / tcp с использованием файлового дескриптора 3 (или другого).

1 Ответ

0 голосов
/ 25 августа 2018

Пожалуйста, используйте следующий код:

od -An -t o2  /dev/urandom | awk '{ print $2 }' | awk '{$2= $1/4;$3= $1-$2;print $1" "$2" "$3}'

Первый столбец будет основным потоком, вы можете разделить его на n столбцов или потоков, здесь я попытался разделить его на два столбца. Это основной поток и два подпотока, подпотоки добавят в основной поток .

Пример вывода из приведенного выше кода:

032621 8155.25 24465.8
163465 40866.2 122599
023403 5850.75 17552.2
100755 25188.8 75566.2
052763 13190.8 39572.2
015401 3850.25 11550.8
062161 15540.2 46620.8
100415 25103.8 75311.2
142550 35637.5 106912
141450 35362.5 106088
057473 14368.2 43104.8
023430 5857.5 17572.5
007112 1778 5334
036372 9093 27279

P.S. Я не очень хорошо разбираюсь в awk, поэтому с помощью awk-части кода возможны многие улучшения.

...