有什么方法可以将从/ dev / urandom生成的字符流拆分为不同的子流?

时间:2018-08-25 15:58:37

标签: linux bash random stream streaming

我需要获取由硬件设备生成的高速随机数流,并将其拆分为不同的子流。为了进行测试,我考虑将/ dev / urandom作为数据源。是否有任何Linux工具?如果不是,请帮助执行bash脚本。 子流速度的总和应等于初始流速度(或接近)。子流随后通过使用文件描述符3(或其他)在netcat和/ dev / tcp之间创建套接字来发送给最终用户。

1 个答案:

答案 0 :(得分:0)

请考虑使用以下代码:

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部分代码可以进行很多改进。