如何使用sed在随机行数(但不超过150行)中生成随机数(最多1行最多5个字段)?是否有可能或更好地使用Perl?
答案 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)都更适合这项任务。