Previous: mvcat ベクトルの併合 Up: コマンドリファレンス Next: mvcount ベクトルサイズの計算 MCMD2
MCMD2 : コマンドリファレンス : mvcommon ベクトル要素の参照選択

3.71 mvcommon ベクトル要素の参照選択

ベクトルから、参照ファイルで指定された要素を選択する。

典型的な例をTable 3.35〜3.36に示す。

Table 3.35: 入力データ
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

a

c

e

Table 3.36: 基本例
vf=items m=ref.csv K=item

no

items

1

a c

2

a

3

e

4

c

: Caption text
アンマッチアイテムの選択例 vf=items m=ref.csv K=item -r

no

items

1

b

2

d

3

b f f

4

f d

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

書式

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

vf=

結合キーとなるアイテム集合の項目名(i=ファイル上)を指定する。

 

複数項目指定可能。アイテムはソーティングされている必要はない。

 

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

 

例) f=数量:置換後の項目名

-A

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

 

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

 

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

m=

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

 

このパラメータが省略された時には標準入力が用いられる。(i=指定ありの場合)

K=

参照ファイル(m=)上の結合キーとなるアイテムの項目名を指定する。

-r

vf=とK=の要素がマッチしない要素を選択する。

利用例

例1: 複数項目に対して結合する例

$ more dat1.csv
items1,items2
b a c,b b
c c,a d
e a a,a a
$ more ref1.csv
item
a
c
e
$ mvcommon vf=items1,items2 K=item m=ref1.csv i=dat1.csv o=rsl1.csv
#END# kgvcommon K=item i=dat1.csv m=ref1.csv o=rsl1.csv vf=items1,items2
$ more rsl1.csv
items1,items2
a c,
c c,a
e a a,a a

例2: 項目名を変更する例

item2に新項目名new2を指定しているので、 項目名が変更され出力される。

$ mvcommon vf=items1,items2:new2 K=item m=ref1.csv i=dat1.csv o=rsl2.csv
#END# kgvcommon K=item i=dat1.csv m=ref1.csv o=rsl2.csv vf=items1,items2:new2
$ more rsl2.csv
items1,new2
a c,
c c,a
e a a,a a

例3: 項目を追加する例

item1に新項目名new1を、 item2に新項目名new2を指定し、 -Aオプションを付けているので 新項目new1とnew2が追加され出力される。

$ mvcommon vf=items1:new1,items2:new2 -A K=item m=ref1.csv i=dat1.csv o=rsl3.csv
#END# kgvcommon -A K=item i=dat1.csv m=ref1.csv o=rsl3.csv vf=items1:new1,items2:new2
$ more rsl3.csv
items1,items2,new1,new2
b a c,b b,a c,
c c,a d,c c,a
e a a,a a,e a a,a a

関連コマンド

mvjoin : 選択でなくベクトル要素を結合する。

Previous: mvcat ベクトルの併合 Up: コマンドリファレンス Next: mvcount ベクトルサイズの計算 MCMD2