jotコマンドについて調べてみた
本日のシェル芸勉強会(http://usptomo.doorkeeper.jp/events/8339)の中でプチ話題になったjotコマンド。
イマイチ使い方をちゃんと把握していなかったので調べてみました。
※確認・検証はFreeBSD 8.3にておこなっておりまする。
当時の認識
— くんすと (@kunst1080) 2014, 2月 15
調べてみた結果、かなり便利なコマンドのようです。seq + yesみたいな感じかな。
man jot
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.
以下略!
基本的な構文
jot 回数 開始 終了
で、開始と終了は省略可能。
- 回数のみ指定
% jot 5 1 2 3 4 5
- 回数と開始を指定
% jot 5 10 10 11 12 13 14
- 回数・開始・終了を指定
% jot 5 6 10 6 7 8 9 10
- 回数・開始・終了が連続しない場合、回数に合わせて割り算してくれる感じ。
% jot 5 2 10 2 4 6 8 10
- 回数に0を指定すると無限に出力(yesみたくなる)
% jot 0 | head 1 2 3 4 5 6
% jot -b a 0 | head a a a a a a a a a a
jotコマンドのオプション
-rオプション
- 乱数を作成
% jot -r 3 80 8 97
- 1000~2000の間の乱数を3つ
% jot -r 3 1000 2000 1235 1172 1404
-bオプション
文字を繰り返し出力
% jot -b PIZA 3 PIZA PIZA PIZA
-wオプション
- printf風のフォーマット指定を付けられる
% jot -w %03d 3 001 002 003
-sオプション
- 区切り文字を変更する。指定しない場合は改行コード。
% jot -s , 10 1,2,3,4,5,6,7,8,9,10
- 他のオプションと組み合わせ
% jot -s , -w %03d 10 001,002,003,004,005,006,007,008,009,010
-nオプション
改行コードを出力しない
% jot -n 3 1 2 3%
% jot -n -s , 3 1,2,3%
-pオプション
整数で指定されたデータの文字数もしくは桁数だけ表示
- 出力対象が数字の場合
% jot -p 2 4 8 11 8.00 9.00 10.00 11.00
- -wオプションと組み合わせた場合、-wが勝つ
% jot -p 2 -w %03d 3 001 002 003
その他
- 開始・終了等は、文字でも指定可能
% jot 3 a c 97 98 99
% jot -c 3 a c a b c
- ランダムな文字列を生成
% jot -r -c 40 a z | rs -g 0 8 mnuqpxzx ortfkjnd xjllnkpj zjghdayl qpzjihai