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= パラメータで指定したディレクトリ名が存在しなければ作成する。 |
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で分割したファイルをこのコマンドで併合すると元に戻る。