sedを使用して乱数(1行最大5フィールドの長さ)を乱数の行(ただし150行以下)で生成する方法は? これにPerlを使用することは可能ですか、それともより良いですか?
質問する
278 次
2 に答える
2
はこのためのツールではないと思いますsed
が、 のランダムな行で乱数を生成したい場合はunix
、次のようにします。
od -An -t d2 -w10 /dev/urandom | head -n $(( RANDOM % 150 ))
注: これらは符号付きの 16 ビットの数値です。更新-t
し-w
て変更してください。
od オプション
-An
アドレスを出力しません。-t d2
2 バイトの数値を出力し、10 進数に変換します。-w10
フィールド数にバイト長を掛けたもの。
パールソリューション
int rand(n)
0 から n までのランダムな整数を取得するために使用します (「 」を参照perldoc -f rand
)。
for ( 1 .. int rand(150) ) {
print int rand(10), " " for (1 .. 5);
print "\n";
}
于 2012-06-27T10:16:50.130 に答える
0
sed は、既存のテキスト ストリームの解析と編集に関するものであり、実際にはそれらを生成するものではありません。ほぼすべてのプログラミング言語 (perl を含む) が、このタスクにより適しています。
于 2012-06-27T08:11:24.247 に答える