Previous: mvnullto ベクトル要素のNULL置換 Up: コマンドリファレンス Next: mvsort ベクトル要素のソート MCMD2
MCMD2 : コマンドリファレンス : mvreplace ベクトル要素の参照置換

3.77 mvreplace ベクトル要素の参照置換

ベクトル要素をキーにして参照ファイル上のベクトル型データで置換する。 ベクトル型の項目とは、Table 3.42のitems項目のように、 スペースで区切られた複数の文字列を値として持つ項目である。

典型的な例をTable 3.42〜3.43に示す。

Table 3.42: 入力データ
in.csv

no

items

1

a b c

2

a d

3

b f e f

4

f c d

: Caption text
参照ファイル ref.csv

item

taxo

a

X

b

Y

c

Z

e

X

f

Z

Table 3.43: 基本例
vf=items m=ref.csv K=item f=taxo

no

items

1

X Y Z

2

X d

3

Y Z X Z

4

Z Z d

: Caption text
アンマッチ要素の指定例 vf=items m=ref.csv K=item f=taxo n=*

no

items

1

X Y Z

2

X *

3

Y Z X Z

4

Z Z *

mvreplaceコマンドは、参照ファイルデータを一旦全てメモリにセットするので、 巨大な参照ファイルを指定した場合はメモリを使い果たす可能性があることに注意する。

書式

mvreplace vf= K= f= [n=] m=| [-A] i= [o=] [delim=] [-assert_diffSize] [-assert_nullin] [-assert_nullout] [-nfn] [-nfno] [-x] [-q] [tmpPath=] [--help] [--helpl] [--version]

vf=

結合キーとなるベクトルの項目名(i=ファイル上)を指定する。

 

複数項目指定可能。ベクトル要素はソーティングされている必要はない。

 

結果の項目名を変更したいときは、:(コロン)に続けて新項目名を指定する。

-A

vf=で:(コロン)に続けて指定した項目名で、新たな項目が追加される。

 

なお-Aオプションを指定した場合、vf=パラメータで指定するすべての

 

項目に新項目名を指定しなければならない。

m=

参照ファイルを指定する。

K=

参照ファイル(m=)上の結合キーとなるベクトル要素の項目名を指定する。

 

並べ変わっている必要はないが、ベクトル要素は単一化されていなければならない。

 

単一化されていない時の動作は不定である。

f=

結合するベクトル(要素)項目名を指定する。

n=

vf=とK=のベクトル要素がマッチしなかった場合に結合する文字列を指定する。

 

省略した場合、対象のベクトル(要素)の結合は行われない。

利用例

例1: ベクトルで置換する例

$ more dat1.csv
items
b a c
c c
e a a
$ more ref1.csv
item,taxo
a,X Y
b,X
c,Z Z
$ mvreplace vf=items K=item m=ref1.csv f=taxo i=dat1.csv o=rsl1.csv
#END# kgvreplace K=item f=taxo i=dat1.csv m=ref1.csv o=rsl1.csv vf=items
$ more rsl1.csv
items
X X Y Z Z
Z Z Z Z
e X Y X Y

例2: 複数項目に対して適用する例

$ more dat2.csv
items1,items2
b a c,b b
c c,a d
e a a,a a
$ more ref2.csv
item,taxo
a,X
b,X
c,Y
d,Y
$ mvreplace vf=items1,items2 K=item m=ref2.csv f=taxo i=dat2.csv o=rsl2.csv
#END# kgvreplace K=item f=taxo i=dat2.csv m=ref2.csv o=rsl2.csv vf=items1,items2
$ more rsl2.csv
items1,items2
X X Y,X X
Y Y,X Y
e X X,X X

関連コマンド

mvjoin : 要素の置換ではなく、結合であればmvjoinを使う。

Previous: mvnullto ベクトル要素のNULL置換 Up: コマンドリファレンス Next: mvsort ベクトル要素のソート MCMD2