-3

sedを使用して乱数(1行最大5フィールドの長さ)を乱数の行(ただし150行以下)で生成する方法は? これにPerlを使用することは可能ですか、それともより良いですか?

4

2 に答える 2

2

はこのためのツールではないと思いますsedが、 のランダムな行で乱数を生成したい場合はunix、次のようにします。

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

注: これらは符号付きの 16 ビットの数値です。更新-t-wて変更してください。

od オプション

  • -An アドレスを出力しません。
  • -t d22 バイトの数値を出力し、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 に答える