ベクトル型の要素を区切る文字列を変更する。 ただし、区切り文字に空文字を指定すれば区切り文字を削除することになる。
典型的な例を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 |
no |
items |
1 |
b-a-a |
2 |
a-a-b-b |
3 |
a-b-b-a |
4 |
a-b-c |
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 |
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=パラメータで指定するすべての |
|
項目に新項目名を指定しなければならない。 |
ベクトル型要素のデフォルトの区切り文字である半角スペースを_(アンダーバー)に置換する。
$ 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
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"