参照ファイルの範囲条件にマッチする入力ファイルの行を選択する。 k=パラメータで指定した入力ファイルの項目値とK=パラメータで指定した参照ファイルの項目値が同じ行について、 r=でパラメータで指定した項目値がR=パラメータで指定した2項目の値の範囲条件(項目1以上項目2未満)にマッチすれば選択する。 数値として処理したい場合はr=パラメータの項目名のあとに%nをつけること。
mnrcommon [k=] R= r= [K=] [u=] [-r] m=| i= [o=] [-assert_diffSize] [-assert_nullkey] [-nfn] [-nfno] [-x] [-q] [tmpPath=] [--help] [--helpl] [--version]
k= |
入力データ上の突き合わせる項目名リスト(複数項目指定可)を指定する。 |
ここで指定した入力データの項目とK=パラメータで指定された参照データの項目が同じ行の項目結合が行われる。 |
|
m= |
参照ファイル名を指定する。 |
このパラメータが省略された時には標準入力が用いられる。(i=指定ありの場合) |
|
R= |
参照ファイル上の範囲項目名(start,end)を指定する。 |
第一項目のNULL値は無限小,第二項目のNULL値は無限大として扱われる。 |
|
r= |
範囲比較される入力ファイル上の項目名を指定する。[%n] |
ここで指定した参照データの項目とk=パラメータで指定された入力データの項目が同じ行が選択される。 |
|
数値として処理したい場合はr=パラメータの項目名のあとに%nをつける。 |
|
K= |
参照データ上の突き合わせる項目名リスト(複数項目指定可) |
ここで指定した参照データの項目とk=パラメータで指定された入力データの項目が同じ行の項目結合が行われる。 |
|
参照データ上にk=パラメータで指定した入力データ上の項目と同名の項目が存在する場合は指定する必要はない。 |
|
u= |
指定の条件に一致しない行を出力するファイル名。 |
-r |
条件反転 |
R=パラメータで指定した行番号以外の行を選択する。 |
日付項目の値が20080203で、「金額」項目の値が5以上15未満の行、および40以上50未満の行を選択する。
$ more dat1.csv 日付,金額 20080123,10 20080203,10 20080203,20 20080203,45 200804l0,50 $ more ref1.csv 日付,金額F,金額T 20080203,5,15 20080203,40,50 $ mnrcommon k=日付 m=ref1.csv R=金額F,金額T r=金額%n i=dat1.csv o=rsl1.csv #END# kgnrcommon R=金額F,金額T i=dat1.csv k=日付 m=ref1.csv o=rsl1.csv r=金額%n $ more rsl1.csv 日付%0,金額 20080203,10 20080203,45
-rを付けると選択条件は反転する。
$ mnrcommon k=日付 m=ref1.csv R=金額F,金額T r=金額%n -r i=dat1.csv o=rsl2.csv #END# kgnrcommon -r R=金額F,金額T i=dat1.csv k=日付 m=ref1.csv o=rsl2.csv r=金額%n $ more rsl2.csv 日付%0,金額 20080123,10 20080203,20 200804l0,50
mcommon : 範囲でなく文字列マッチで選択したい場合はこのコマンドを使う。
mnrjoin : 選択ではなく参照ファイルの項目を結合する。