数字連番もしくはアルファベット連番(A,B,...,Z,AA,AB,...,AZ,BA,BB,...,ZZ,AAA,AAB,...)ををふり、a=パラメータで指定した項目名で出力する。
mnumber a= [e=] [I=] [k=] [s=] [S=] [-B] [i=] [o=] [-assert_diffSize] [-assert_nullkey] [-nfn] [-nfno] [-x] [-q] [tmpPath=] [--help] [--helpl] [--version]
a= |
新たに追加される項目の名前を指定する。【但し、-nfn,-nfnoオプション指定時は必要なし】 |
e= |
同Rankの処理方法 |
同一キー同一ソート項目値への処理方法を指定する。 |
|
指定しない場合は、デフォルトとして(e=seq)並び順でNoもしくは文字列が付け加えられる。 |
|
seq:同Rankの場合は並び順でNoもしくはアルファベット連番を付け加える。 |
|
same:同Rankの場合は同じNoもしくはアルファベットを付け加える。 |
|
skip:同Rankの場合は同じNoを振り、 |
|
次のNoはスキップするようにNoもしくはアルファベット連番を付け加える。 |
|
(注意)e={same/skip}を指定する場合は、s=パラメータを同時に指定しなければならない。 |
|
I= |
連番の間隔を指定する。 |
k= |
連番もしくは連文字をふる単位となる項目名リスト(複数項目指定可)を指定する。【集計キーブレイク処理】 |
(注意)指定する場合は事前にk=パラメータで指定する連番、 |
|
もしくは連文字をふる単位となる項目順に並べ替えておく必要がある。 |
|
s= |
ここで指定した項目(複数項目指定可)で並べ替えられた後、連番が追加される。 |
-Bオプション指定時以外は必須。 |
|
S= |
開始No |
連番の開始Noを指定する。 |
|
大文字のアルファベットが指定された場合はアルファベット連番となる。 |
|
ただし、アルファベット連番の場合、間隔(I=)に負の値は指定できない。 |
|
-B |
キー毎に連番もしくはアルファベット連番をふる。 |
あるキー内では全行同じNoもしくはアルファベットがふられる。 |
Customer項目名順(昇順)に連番を振り「No」という項目名で出力する。
$ more dat1.csv Customer,Val,Sum A,29,300 B,35,250 C,15,200 D,23,150 E,10,100 $ mnumber s=Customer a=No i=dat1.csv o=rsl1.csv #END# kgnumber a=No i=dat1.csv o=rsl1.csv s=Customer $ more rsl1.csv Customer%0,Val,Sum,No A,29,300,0 B,35,250,1 C,15,200,2 D,23,150,3 E,10,100,4
Date項目順(昇順)に連番をふる。その際、同じDateには同じNoを振り「No」という項目名で出力する。
$ more dat2.csv Date 20090101 20090101 20090102 20090103 20090103 $ mnumber k=Date a=No -B i=dat2.csv o=rsl2.csv #END# kgnumber -B a=No i=dat2.csv k=Date o=rsl2.csv $ more rsl2.csv Date%0,No 20090101,0 20090101,0 20090102,1 20090103,2 20090103,2
Sum項目の多い順(降順)にアルファベットのAから順に連文字を振り「Rank」という項目名で出力する。 また、同Rankの場合は同じアルファベット文字を振ることにする。
$ more dat3.csv Customer,Val,Sum A,3,300 B,1,250 C,2,250 D,1,150 E,1,100 $ mnumber a=Rank e=same s=Sum%nr S=A i=dat3.csv o=rsl3.csv #END# kgnumber S=A a=Rank e=same i=dat3.csv o=rsl3.csv s=Sum%nr $ more rsl3.csv Customer,Val,Sum%0nr,Rank A,3,300,A B,1,250,B C,2,250,B D,1,150,C E,1,100,D
Sum項目の多い順(降順)に連番を振り「Rank」という項目名で出力する。 その際、同Rankの場合は並び順でNoを振ることにする。
$ mnumber a=Rank e=seq s=Sum%nr i=dat3.csv o=rsl4.csv #END# kgnumber a=Rank e=seq i=dat3.csv o=rsl4.csv s=Sum%nr $ more rsl4.csv Customer,Val,Sum%0nr,Rank A,3,300,0 B,1,250,1 C,2,250,2 D,1,150,3 E,1,100,4
Sum項目の多い順(降順)に連番を振り「Rank」という項目名で出力する。 その際、同Rankの場合は同じNoを振ることにする。
$ mnumber a=Rank e=same s=Sum%nr i=dat3.csv o=rsl5.csv #END# kgnumber a=Rank e=same i=dat3.csv o=rsl5.csv s=Sum%nr $ more rsl5.csv Customer,Val,Sum%0nr,Rank A,3,300,0 B,1,250,1 C,2,250,1 D,1,150,2 E,1,100,3
Sum項目の多い順(降順)に連番を振り「Rank」という項目名で出力する。 その際、同Rankの場合は同じRankNoを振り、次のNoはスキップするようにNoを振ることにする。
$ mnumber a=Rank e=skip s=Sum%nr i=dat3.csv o=rsl6.csv #END# kgnumber a=Rank e=skip i=dat3.csv o=rsl6.csv s=Sum%nr $ more rsl6.csv Customer,Val,Sum%0nr,Rank A,3,300,0 B,1,250,1 C,2,250,1 D,1,150,3 E,1,100,4
Sum項目の小さい順(昇順)に10から始まる連番を振り「Score」という項目名で出力する。 その際、同Rankの場合は同じRankNoを振り、次のNoはスキップするようにNoを振ることにする。
$ more dat4.csv Customer,Val,Sum A,1,100 B,1,150 C,1,250 D,2,250 E,3,300 $ mnumber a=Score e=same s=Sum%n S=10 i=dat4.csv o=rsl7.csv #END# kgnumber S=10 a=Score e=same i=dat4.csv o=rsl7.csv s=Sum%n $ more rsl7.csv Customer,Val,Sum%0n,Score A,1,100,10 B,1,150,11 C,1,250,12 D,2,250,12 E,3,300,13
Sum項目の小さい順番(昇順)に10から始まる5つ飛びの連番を振り「Score」という項目名で出力する。 また、同Rankの場合は同じNoを振ることにする。
$ mnumber a=Score e=same s=Sum%n S=10 I=5 i=dat4.csv o=rsl8.csv #END# kgnumber I=5 S=10 a=Score e=same i=dat4.csv o=rsl8.csv s=Sum%n $ more rsl8.csv Customer,Val,Sum%0n,Score A,1,100,10 B,1,150,15 C,1,250,20 D,2,250,20 E,3,300,25
mnewnumber : 新たに連番データを生成する場合に使う。
mbest : 行番号による選択であれば、mnumberを使わずともこのコマンドで。