jot(1) FreeBSD 一般コマンドマニュアル

jot

前のページ 上に戻る 次のページ

jot


         [reps [begin [end [s]]]]


解説

     jot は、増加・減少・ランダム・冗長データを通常は数字で、一行毎に出力しま
     す。

     以下のようなオプションが利用できます。

     -r      デフォルトの連続したデータの代わりに、乱数を作成します。

     -b word
             word を、繰り返し出力するだけです。

     -w word
             word のあとに、生成されたデータを付け加え、出力します。 8 進・16
             進・指数・ASCII・ゼロで埋めた表示・右詰め表現などは、適切な
             printf(3) 記法を word 中で指定することで、可能です。この場合、デ
             ータは追加されるというよりも、挿入されると考えてください。

     -c      これは、 -w %c の省略形です。

     -s string
             string で分けられたデータを出力します。普通は、改行文字がデータを
             分割します。

     -n      通常追加される、最後の改行を出力しません。

     -p precision
             整数 precision で指定されたデータの文字数もしくは桁数だけ表示しま
             す。 -p がない場合、精度値は beginend の精度の大きい方です。
             -p オプションは、 -w に続く printf(3) 記法が指定されている時に
             は、上書きされます。

     最後の 4 つの引数はそれぞれデータ数・下界・上界と、幅の大きさまたは、乱数
     のための種です。少なくともどれか一つが指定されなければなりませんが、その
     他の 3 つは引数として - を与えると、省略できます。これら 3 つの引数を指定
     すれば、4 つ目が決まります。 4 つとも指定されて、 reps の与えられた値と、
     計算された値とが相反する場合、小さい方を用います。指定された数が 3 つより
     少ない場合には、 s を除いて、デフォルト値を左から右へ割り当てます。 s
     は、 beginend が共に指定された場合以外、デフォルト値が設定されます。

     4 つの引数に対するデフォルトは、乱数が要求された時を除いて、それぞ
     れ、100, 1, 100, 1です。乱数の種 s はランダムに選択されます。 reps は、符
     号無し整数であると想定されています。ゼロが与えられた場合は、無限回数とな
     ります。 beginend は、実数、もしくは文字の場合は対応する ASCII 値とし
     てあたえられます。最後の引数は、実数でなければなりません。

     乱数値は、 random(3) を使って得られます。名前 jot は、 APL 中の関数 iota
     の部分から来ています。


使用例

     コマンド

     ed(1) の置換コマンドを、30 回、2, 7, 12 行等のように (5 行毎に ) 適用する
     場合の解答例は以下のようになります。
           jot -w %ds/old/new/ 30 2 - 5

     だぶりのある 9, 9, 8, 8, 7 の様な列は、以下のように適切にステップの大きさ
     を設定することで、実現できます。
           jot - 9 0 -.5

     ファイルが正確に 1024 バイトであるように作成するには、
           jot -b x 512 > block

     最後に、タブを 4 つのスペースに設定し、10 カラム目からはじまって、 132 カ
     ラム目で終るようにするには、以下のようにします。
           expand -`jot -s, - 10 132 4`

     80 文字以上の行を全て表示するには、以下を使ってください。
           grep `jot -s "" -b . 80`


診断

     ユーティリティ jot は、成功すると 0 で、エラーがあった場合は >0 で終了し
     ます。次の診断メッセージは、特別な解説を要します:

     illegal or unsupported format '%s'  printf(3) 用に要求された変換書式指示
     子は、
           %[#][ ][{+,-}][0-9]*[.[0-9]*]?
     の書式ではありませんでした。ここで ``?'' は
           [l]{d,i,o,u,x}
     または
           {c,e,f,g,D,E,G,O,U,X}
     のいずれかひとつです。

     range error in conversion  表示すべき値は、要求された出力書式に関連付けら
     れたデータタイプの範囲外の結果になりました。

     too many conversions  1 個しか許されないところを、複数の変換書式指示子が
     指定されました。


関連項目

     ed(1), expand(1), rs(1), yes(1), printf(3), random(3)

FreeBSD 4.4                      June 6, 1993                      FreeBSD 4.4

ABELNET VPSサービス