Previous: mnumber 連番 Up: コマンドリファレンス Next: mpaste 参照ファイル項目の行番号マッチング結合 MCMD2
MCMD2 : コマンドリファレンス : mpadding (行補完) コマンド

3.41 mpadding (行補完) コマンド

k=パラメータで指定した項目をキーとして、f=パラメータで指定した項目の値が連続するようにレコードを作成する。v=パラメータを指定した場合は、k=,f=で指定した以外の項目値を指定した文字列でパディングし、-nオプション指定時は、nullでパディングする。(v=,-n共に指定がなければ直前の項目値でパディングする)

書式

mpadding [k=] f= [v=] [S=] [E=] [-n] [i=] [o=] [-assert_diffSize] [-assert_nullkey] [-assert_nullin] [-assert_nullout] [-nfn] [-nfno] [-x] [-q] [tmpPath=] [--help] [--helpl] [--version]

パラメータ

k=

ここで指定された項目をキーとする。

f=

連続パディング対象項目名

 

ここで指定された項目の値が連続するようにレコードをパディングする。

 

数字としてパディングするときは、no%nのように%nを指定する。

 

日付としてパディングするときは%d、時刻としてパディングするときは%tを指定する。

 

降順でパディングしたいときはno%d%rのようにrを追加する。

v=

パディング用文字列指定

 

k=,f=で指定した以外の項目値を指定した文字列で出力する。

S=

開始値

 

f=で指定した項目の値の開始値を指定する。

E=

終了値

 

f=で指定した項目の値の終了値を指定する。

-n

パディングにnull値指定

 

k=,f=で指定した以外の項目値をnullで出力する。

利用例

例1: 基本例

no項目が整数(%n)として連続するようにレコードをパディングする。 1とverb|4|の間に2,3を、4と2の間に3が挿入されている。

$ more dat1.csv
no
3
6
8
$ mpadding f=no%n i=dat1.csv o=rsl1.csv
#END# kgpadding f=no%n i=dat1.csv o=rsl1.csv
$ more rsl1.csv
no%0n
3
4
5
6
7
8

例2: 開始値、終了値の指定

行間のパディングだけでなく、先頭行/終端行の前後もパディングする。 前後の範囲はS=,E=で指定する。

$ mpadding f=no%n S=1 E=10 i=dat1.csv o=rsl2.csv
#END# kgpadding E=10 S=1 f=no%n i=dat1.csv o=rsl2.csv
$ more rsl2.csv
no%0n
1
2
3
4
5
6
7
8
9
10

例3: 日付パディング

date項目が日付(%d)として連続するようにレコードをパディングする。 k=,f=で指定した以外の項目は、直前の行の項目値でパディングする。

$ more dat2.csv
date,dummy
20130929,a
20131002,b
20131004,c
$ mpadding f=date%d i=dat2.csv o=rsl3.csv
#END# kgpadding f=date%d i=dat2.csv o=rsl3.csv
$ more rsl3.csv
date%0,dummy
20130929,a
20130930,a
20131001,a
20131002,b
20131003,b
20131004,c

例4: パディング用文字列指定

v=にてパディング文字列を指定することもできる。

$ mpadding f=date%d v=padding i=dat2.csv o=rsl4.csv
#END# kgpadding f=date%d i=dat2.csv o=rsl4.csv v=padding
$ more rsl4.csv
date%0,dummy
20130929,a
20130930,padding
20131001,padding
20131002,b
20131003,padding
20131004,c

例5: パディングにNULL値を指定

-nを指定してNULL値でパディングすることも可能。

$ mpadding f=date%d -n i=dat2.csv o=rsl5.csv
#END# kgpadding -n f=date%d i=dat2.csv o=rsl5.csv
$ more rsl5.csv
date%0,dummy
20130929,a
20130930,
20131001,
20131002,b
20131003,
20131004,c

関連コマンド

Previous: mnumber 連番 Up: コマンドリファレンス Next: mpaste 参照ファイル項目の行番号マッチング結合 MCMD2