本日のシェル芸勉強会(http://usptomo.doorkeeper.jp/events/8339)の中でプチ話題になったjotコマンド。
イマイチ使い方をちゃんと把握していなかったので調べてみました。※確認・検証はFreeBSD 8.3にておこなっておりまする。
当時の認識>jot 回数 開始 終端 #シェル芸 #usptomo— くんすと (@kunst1080) 2014, 2月 15調べてみた結果、かなり便利なコマンドのようです。seq + yesみたいな感じかな。

### man jot ```sh JOT(1) FreeBSD General Commands Manual JOT(1) NAME jot ? print sequential or random data SYNOPSIS jot [-cnr] [-b word] [-w word] [-s string] [-p precision] [reps [begin [end [s]]]] DESCRIPTION The jot utility is used to print out increasing, decreasing, random, or redundant data, usually numbers, one per line. ```以下略!

#### 基本的な構文 ```sh jot 回数 開始 終了 ```で、開始と終了は省略可能。
  • 回数のみ指定
```sh % jot 5 1 2 3 4 5 ```
  • 回数と開始を指定
```sh % jot 5 10 10 11 12 13 14 ```
  • 回数・開始・終了を指定
```sh % jot 5 6 10 6 7 8 9 10 ```
  • 回数・開始・終了が連続しない場合、回数に合わせて割り算してくれる感じ。
```sh % jot 5 2 10 2 4 6 8 10 ```
  • 回数に0を指定すると無限に出力(yesみたくなる)
```sh % jot 0 | head 1 2 3 4 5 6 ``````sh % jot -b a 0 | head a a a a a a a a a a ```
### jotコマンドのオプション
#### -rオプション
  • 乱数を作成
```sh % jot -r 3 80 8 97 ```
  • 1000~2000の間の乱数を3つ
```sh % jot -r 3 1000 2000 1235 1172 1404 ```
#### -bオプション 文字を繰り返し出力 ```sh % jot -b PIZA 3 PIZA PIZA PIZA ```
#### -wオプション
  • printf風のフォーマット指定を付けられる
```sh % jot -w %03d 3 001 002 003 ```
#### -wオプション
  • -w %c と同じ。生成された数字をアスキーコードとして文字を出力する
```sh % jot -c 3 65 67 A B C ```
#### -sオプション
  • 区切り文字を変更する。指定しない場合は改行コード。
```sh % jot -s , 10 1,2,3,4,5,6,7,8,9,10 ```
  • 他のオプションと組み合わせ
```sh % jot -s , -w %03d 10 001,002,003,004,005,006,007,008,009,010 ```
#### -nオプション 改行コードを出力しない ```sh % jot -n 3 1 2 3% ``````sh % jot -n -s , 3 1,2,3% ```
#### -pオプション 整数で指定されたデータの文字数もしくは桁数だけ表示
  • 出力対象が数字の場合
```sh % jot -p 2 4 8 11 8.00 9.00 10.00 11.00 ```
  • -wオプションと組み合わせた場合、-wが勝つ
```sh % jot -p 2 -w %03d 3 001 002 003 ```
#### その他
  • 開始・終了等は、文字でも指定可能
```sh % jot 3 a c 97 98 99 ``````sh % jot -c 3 a c a b c ```
  • ランダムな文字列を生成
```sh % jot -r -c 40 a z | rs -g 0 8 mnuqpxzx ortfkjnd xjllnkpj zjghdayl qpzjihai ```
### 参考URL ここの「使用例」がすごく参考になります。