Previous: msep レコードの分割 Up: コマンドリファレンス Next: msetstr 文字列項目の追加 MCMD2
MCMD2 : コマンドリファレンス : msep2 連番-項目値表の出力を伴った行の分割

3.52 msep2 連番-項目値表の出力を伴った行の分割

k=で指定された項目の値別にデータを分割(separation)する。 分割後のデータは自動的に採番される連番ファイル名に保存され、 k=で指定された項目の値と分割後のファイル名との対応表が出力される。

書式

msep2 k= O= a= [-p] [i=] [o=] [-assert_nullkey] [-nfn] [-nfno] [-x] [-q] [tmpPath=] [--help] [--helpl] [--version]

パラメータ

k=

分割単位となる項目名リスト

O=

ここで指定されたディレクトに連番ファイル(0から始まる連番)を作成する。

o=

k=で指定した項目値と連番ファイル名との対応表をCSVで出力する。

 

指定しなければ標準出力に出力される。

a=

o=に出力されるファイル名の項目名を指定する。

-p

O=で指定したディレクトリがなければ強制作成する。

利用例

例1: 基本例

item項目別にデータを分割する。 出力ファイル名は0から始まる連番であり、どの番号がどのキーに対応しているかがtable.csvに出力される。

$ more dat1.csv
item,no
A,1
A,1
A,2
B,1
B,2
$ msep2 k=item O=./output a=fileName o=table.csv i=dat1.csv
#END# kgsep2 O=./output a=fileName i=dat1.csv k=item o=table.csv
$ ls ./output
0
1
$ more table.csv
item%0,fileName
A,./output/0
B,./output/1
$ more output/0
item%0,no
A,1
A,1
A,2
$ more output/1
item%0,no
B,1
B,2

例2: 複数キー項目

複数のキー項目item,noを設定しても同様に各ファイル名は連番で作成される。 table.csvに複数のキー項目と番号の対応表が出力されている。

$ more dat1.csv
item,no
A,1
A,1
A,2
B,1
B,2
$ msep2 k=item,no O=./output2 a=fileName o=table.csv i=dat1.csv
#END# kgsep2 O=./output2 a=fileName i=dat1.csv k=item,no o=table.csv
$ ls ./output2
0
1
2
3
$ more table.csv
item%0,no%1,fileName
A,1,./output2/0
A,2,./output2/1
B,1,./output2/2
B,2,./output2/3
$ more output/0
item%0,no
A,1
A,1
A,2

関連コマンド

msep : ファイル名に項目名を組み込みたいときはこのコマンドを使う。

Previous: msep レコードの分割 Up: コマンドリファレンス Next: msetstr 文字列項目の追加 MCMD2