f=で指定した項目の値が、 c=で指定した数値範囲にマッチする行を選択する。 以下に示すように多様な選択条件を指定することが可能である。 このコマンドで指定できないより複雑な条件(文字列マッチとの組み合せなど) を設定するのであればmselコマンドを利用すればよい。 OR条件、AND条件およびキー指定についての詳細はmselnumコマンドを参照されたい。
開区間、閉区間、半開区間、無限区間の制定が可能である。
c=に複数の範囲を指定すれば、いずれかの範囲にマッチすれば選択される(OR条件)。
f=に複数項目を指定すれば、いずれかの項目の値がマッチすれば選択される(OR条件)。
f=のOR条件をAND条件に変更することも可能(-Fオプション)。
k=を指定することでキー単位で選択することが可能。
キー単位選択の場合、複数レコードのAND条件を指定可能(-Rオプション)。
Table 3.16: 入力データ
Table 3.17: val項目が1以上3以下の行を選択 mselnum f=val c='[1,3]' |
||||||||||
key val a 1 b 3 |
key |
val |
a |
1 |
Table 3.18: 5以上の行を選択 mselnum f=val c='[5,)' |
||||
key val b 6 |
key |
val |
a |
1 |
a |
-3 |
b |
6 |
mselnum f= c= [k=] [u=] [-F] [-r] [-R] [i=] [o=] [bufcount=] [-assert_diffSize] [-assert_nullkey] [-assert_nullin] [-nfn] [-nfno] [-x] [-q] [tmpPath=] [--help] [--helpl] [--version]
f= |
検索対象となる項目名リスト(複数項目指定可)を指定する。 |
c= |
f=パラメータで指定した項目の値が、ここで指定した文字列リスト(複数範囲指定可)の1つにマッチすれば選択される。 |
k= |
撰択する単位となるキー項目(複数項目指定可)を指定する。 |
o= |
指定の条件に一致する行を出力するファイル名を指定する。 |
u= |
指定の条件に一致しない行を出力するファイル名を指定する。 |
-F |
f=パラメータで複数項目を指定した場合、その全ての値がマッチする行を撰択する。 |
-r |
条件反転 |
選択ではなく削除する。 |
|
-R |
k=パラメータを指定した場合、その全ての行がマッチすれば行を撰択する。 |
val項目が2以上5以下の行、すなわちid=2,5の行を選択する。
$ more dat1.csv id,val 1,5.1 2,5 3,-2.0 4, 5,2.0 $ mselnum f=val c='[2,5]' i=dat1.csv o=rsl1.csv #END# kgselnum c=[2,5] f=val i=dat1.csv o=rsl1.csv $ more rsl1.csv id,val 2,5 5,2.0
val項目が2以上の行、すなわちid=1,2,5の行を選択する。
$ mselnum f=val c='[2,]' i=dat1.csv o=rsl2.csv #END# kgselnum c=[2,] f=val i=dat1.csv o=rsl2.csv $ more rsl2.csv id,val 1,5.1 2,5 5,2.0
msel : 複雑な条件指定による選択を行う場合に利用する。
mselstr : 文字列マッチによる選択。