Previous: mvcount ベクトルサイズの計算 Up: コマンドリファレンス Next: mvdelnull ベクトルのNULL要素の削除 MCMD2
MCMD2 : コマンドリファレンス : mvdelim ベクトル要素の区切り文字変更

3.73 mvdelim ベクトル要素の区切り文字変更

ベクトル型の要素を区切る文字列を変更する。 ただし、区切り文字に空文字を指定すれば区切り文字を削除することになる。

典型的な例をTable 3.38〜3.39に示す。 カンマも指定することはできるが、 ダブルクォーテーションで括られ 一つの項目となる (Table 3.38)。 v=のように値を指定しなければ空文字と見なされ、 結果として区切り文字が消去される(Table 3.39)。 文字列や漢字も指定することは可能であるが(Table 3.39)、 ベクトルを扱うコマンド(mvsortなど)で指定できる区切り文字 (delim=によって指定)はアルファベット1文字であるため、 もはやベクトルとして利用することはできなくなることに注意する。

Table 3.38: 入力データ
in.csv

no

items

1

b a a

2

a a b b

3

a b b a

4

a b c

: Caption text
基本例:区切りをマイナス記号に置換 vf=items v=- i=in.csv

no

items

1

b-a-a

2

a-a-b-b

3

a-b-b-a

4

a-b-c

: Caption text
区切り文字にカンマを指定すると。。 vf=items v=, i=in.csv

no

items

1

"b,a,a"

2

"a,a,b,b"

3

"a,b,b,a"

4

"a,b,c"

Table 3.39: 空文字を指定すると区切りが消える
vf=items v= i=in.csv

no

items

1

baa

2

aabb

3

abba

4

abc

: Caption text
複数文字も指定できるが。。 vf=items v=xx i=in.csv

no

items

1

bxxaxxa

2

axxaxxbxxb

3

axxbxxbxxa

4

axxbxxc

書式

mvdelim vf= v= [-A] [i=] [o=] [delim=] [-assert_diffSize] [-assert_nullin] [-assert_nullout] [-nfn] [-nfno] [-x] [-q] [tmpPath=] [--help] [--helpl] [--version]

vf=

区切り文字を変更するベクトル項目名を指定する。複数項目指定可能。

 

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

v=

新しい区切り文字を指定する。何も指定しなければ空文字として扱われる。

-A

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

 

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

 

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

利用例

例1: 基本例

ベクトル型要素のデフォルトの区切り文字である半角スペースを_(アンダーバー)に置換する。

$ more dat1.csv
item1
b a c
c c
e a a
$ mvdelim vf=item1 v=_ i=dat1.csv o=rsl1.csv
#END# kgvdelim i=dat1.csv o=rsl1.csv v=_ vf=item1
$ more rsl1.csv
item1
b_a_c
c_c
e_a_a

例2: カンマ

CSVの区切り文字であるカンマに置換すると、CSVの区切り文字との区別を付けるために、 ベクトル全体がダブルクオーツで囲われる。

$ mvdelim vf=item1 v=, i=dat1.csv o=rsl2.csv
#END# kgvdelim i=dat1.csv o=rsl2.csv v=, vf=item1
$ more rsl2.csv
item1
"b,a,c"
"c,c"
"e,a,a"

関連コマンド

Previous: mvcount ベクトルサイズの計算 Up: コマンドリファレンス Next: mvdelnull ベクトルのNULL要素の削除 MCMD2