使用sed在随机行数中生成随机数

时间:2012-06-27 08:04:27

标签: random sed numbers rows

如何使用sed在随机行数(但不超过150行)中生成随机数(最多1行最多5个字段)?是否有可能或更好地使用Perl?

2 个答案:

答案 0 :(得分:2)

我认为sed不是这个工具,但是如果你想在unix上的随机行上生成随机数,那么这样就可以了:

od -An -t d2 -w10 /dev/urandom | head -n $(( RANDOM % 150 ))

注意:这些是带符号的16位数字,更新-t-w以更改它。

od选项

  • -An不输出地址。
  • -t d2输出2个字节的数字并转换为十进制。
  • -w10字段数乘以字节长度。

perl解决方案

使用int rand(n)获取0到n之间的随机整数(请参阅perldoc -f rand)。

for ( 1 .. int rand(150) ) {
    print int rand(10), " " for (1 .. 5);            
    print "\n";
}

答案 1 :(得分:0)

sed是关于解析和编辑现有文本流,而不是真正生成它们。几乎任何编程语言(包括perl)都更适合这项任务。