スポンサーリンク

RANDOM(6) FreeBSD ゲームマニュアル RANDOM(6)

名称

random − ファイルからのランダムな行選択、あるいは乱数

書式

random [−elrUuw] [−f filename] [denominator]

解説

random は 2 つの異なる動作モードがあります。デフォルトは、標準入力の行を 読み取り、 1 / denominator の確率でそれらを標準出力へ書き込むことです。こ の動作モードでのデフォルトの denominator は 2 であり、各行が表示される確 率は 50/50 です。

第 2 の動作モードは、 filename からファイルを読み取り、ファイルの中身をか き混ぜ、これを標準出力へ送るというものです。ファイル内容は、改行または isspace(3) で判定される空白文字をもとに、かき混ぜられます。この動作モード でのデフォルトの denominator は 1 であり、各行は表示されますが random(3) 順となります。

オプションは以下の通りです。

       −e

−e オプションが指定されていると、 random は何も読み書きせず、 0 から denominator - 1 までの整数からランダムに選んだ値を返り値とし てそのまま終了します。

−f filename
−f
オプションは、読み取る filename を指定するために使用されます。 filename が ‘’ の場合、標準入力が使用されます。

−l
改行で入力をかき混ぜます (デフォルト)。

−r
−r
オプションは、出力がバッファリングされないことを保証します。

−U
かき混ぜた出力を作成するときに、同じ行や語を再利用して良いことを random(6) に指示します。

−u
同じ行または語をファイルから選択しないよう random(6) に指示します (デフォルト)。入力に同じトークンが複数個ある場合には一意性を保証 しませんが、同じトークンが複数回選択されることは妨げます。

−w
改行ではなく、 isspace(3) で区切られる語を、かき混ぜます。

関連項目

random(3), fortune(6)

バグ

トークン表示時にはインデックスを使用していません。このため、大きなファイ ル (10MB+) では遅くなるでしょう。性能の影響を受ける領域でこれを使用するの でしたらば、工夫したでしょう。しかしながら、小さなファイルに対しては十分 に高速で効率的です。

歴史

行や語をかき混ぜる機能は、2003 に Sean Chittenden ⟨seanc@FreeBSD.org⟩ が 追加しました。

FreeBSD 10.0 February 8, 2003 FreeBSD 10.0

スポンサーリンク