f=パラメータで指定した項目について、R=パラメータで指定する 数値範囲条件とv=パラメータで指定する置換文字列により、項目の値を置換する。
mchgnum f= R= [O=|-F] [v=] [-A] [-r] [i=] [o=] [-assert_diffSize] [-assert_nullin] [-assert_nullout] [-nfn] [-nfno] [-x] [-q] [tmpPath=] [--help] [--helpl] [--version]
f= |
ここで指定した項目(複数項目指定可)の数値をR=とv=パラメータで指定した |
数値範囲リストおよび置換文字列リストに従って置換する。 |
|
R= |
置換対象となる数値範囲を指定(複数項目指定可)する(1.1,2.5 : 1.1以上2.5未満)。 |
最小値、最大値としてMIN,MAXを使うことができる(MIN,2.5 : 2.5未満)。 |
|
O= |
範囲外文字列 |
R=パラメータで指定した数値範囲リストのいずれとも合致しない値を |
|
置換するときの文字列(指定がなければNULL値となる)を指定する。 |
|
-F |
範囲外を項目の値として出力 |
R=パラメータで指定した数値範囲リストのいずれとも |
|
合致しない値は、その項目の値のまま出力する。 |
|
v= |
R=パラメータで指定した数値範囲に対応する置換文字列を指定する。 |
R=で指定した値の個数より1つ少い個数でなければならない。 |
|
-A |
このオプションにより、指定した項目を置き換えるのではなく、新たに項目が追加される。 |
-r |
R=パラメータの範囲を’〜より大きく〜以下’として扱う。 |
例えば、1.1_2.5は「1.1より大きく2.5以下」として扱う。 |
quantity項目の値が最小以上10未満をlow、 10以上20未満をmiddle、20以上最大未満をhighという文字列に置換する。
$ more dat1.csv customer,quantity A,5 B,10 C,15 D,2 E,50 $ mchgnum f=quantity R=MIN,10,20,MAX v=low,middle,high i=dat1.csv o=rsl1.csv #END# kgchgnum R=MIN,10,20,MAX f=quantity i=dat1.csv o=rsl1.csv v=low,middle,high $ more rsl1.csv customer,quantity A,low B,middle C,middle D,low E,high
quantity項目の値が最小より多く10以下をlow、 10より多く20以下をmiddle、20より多く最大以下をhighという文字列に置換する。
$ mchgnum f=quantity R=MIN,10,20,MAX v=low,middle,high -r i=dat1.csv o=rsl2.csv #END# kgchgnum -r R=MIN,10,20,MAX f=quantity i=dat1.csv o=rsl2.csv v=low,middle,high $ more rsl2.csv customer,quantity A,low B,low C,middle D,low E,high
quantity項目の値が10以上20未満をlow、 20以上30未満をmiddle、30以上最大未満をhigh、 数量が10より小さい値はout of rangeという文字列に置換する。
$ mchgnum f=quantity R=10,20,30,MAX v=low,middle,high O="out of range" i=dat1.csv o=rsl3.csv #END# kgchgnum O=out of range R=10,20,30,MAX f=quantity i=dat1.csv o=rsl3.csv v=low,middle,high $ more rsl3.csv customer,quantity A,out of range B,low C,low D,out of range E,high
quantity項目の値が最小以上10未満をlow、 10以上20未満をmiddle、20以上最大未満をhighという文字列に置換し evaluateという項目名で出力する。
$ mchgnum f=quantity:evaluate R=MIN,10,20,MAX v=low,middle,high -A i=dat1.csv o=rsl4.csv #END# kgchgnum -A R=MIN,10,20,MAX f=quantity:evaluate i=dat1.csv o=rsl4.csv v=low,middle,high $ more rsl4.csv customer,quantity,evaluate A,5,low B,10,middle C,15,middle D,2,low E,50,high
quantity項目の値が10以上20未満をlow、20以上30未満をmiddle、 30以上最大未満をhigh、数量が10より小さい値は置換しないでそのまま出力する。
$ mchgnum f=quantity R=10,20,30,MAX v=low,middle,high -F i=dat1.csv o=rsl5.csv #END# kgchgnum -F R=10,20,30,MAX f=quantity i=dat1.csv o=rsl5.csv v=low,middle,high $ more rsl5.csv customer,quantity A,5 B,low C,low D,2 E,high
mchgstr : 文字列の置換であればこちら。
msed : 正規表現を使った置換が可能。