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

3.51 msep レコードの分割

d=パラメータで指定したファイル名のデータに各レコードを出力する。 指定するファイル名に項目名を埋め込むことができるので、結果としてレコード分割することになる。 埋め込むファイル名は${項目名}によって指定する。 例えば、d=./out/${date}.csvと指定すれば、カレントディレクトリの下のoutディレクトリの下に、 date項目の値別にファイルが作成されることになる。

内部的には、埋め込んだ項目の値をキーとして認識し、並べ替えが行われた後レコードが分割される。

書式

msep d= [-p] [f=] [i=] [-assert_nullin] [-nfn] [-nfno] [-x] [-q] [tmpPath=] [--help] [--helpl] [--version]

パラメータ

d=

異なるデータファイルに分割する項目名を指定する。

 

ここで指定した文字列をファイル名として各レコードが追記されていく。

 

項目名は${項目名}によって埋め込む。

-p

d= パラメータで指定したディレクトリ名が存在しなければ作成する。

利用例

例1: 基本例

datという名前のディレクトリを作成し、 そのディレクトリに日付項目値dateごとに異なるファイルに出力する。

$ more dat1.csv
item,date,quantity,price
A,20081201,1,10
B,20081201,4,40
A,20081202,2,20
A,20081203,3,30
B,20081203,5,50
$ msep d='./dat/${date}.csv' -p i=dat1.csv
#END# kgsep -p d=./dat/${date}.csv i=dat1.csv
$ ls ./dat
20081201.csv
20081202.csv
20081203.csv
$ more ./dat/20081201.csv
item,date%0,quantity,price
A,20081201,1,10
B,20081201,4,40
$ more ./dat/20081202.csv
item,date%0,quantity,price
A,20081202,2,20
$ more ./dat/20081203.csv
item,date%0,quantity,price
A,20081203,3,30
B,20081203,5,50

関連コマンド

msep2 : msepと同じような機能だが、ファイル名は連番で出力し、キー項目との対応表を別途ファイルに出力する。

mcat : msepで分割したファイルをこのコマンドで併合すると元に戻る。

Previous: mselstr 文字列による行選択 Up: コマンドリファレンス Next: msep2 連番-項目値表の出力を伴った行の分割 MCMD2