Dselect [ options ] Dl-expression [ input-file.. ]
Dselect [ options ] [ -f Dl-expression-file ].. [ input-file.. ]
Dselect は input-file からレコードを読み, Dl-expression, を評価して結果がTRUEであれば そのレコードを標準出力に出力する。
Dl-expressionについては, マニュアル Dlを参照。 ただし,Dselectにおける Dl-expressionには, 入力したレコードに対する修正や,レコードの強制出力 が使えないという制限がある。
フィールド"count"の値が1より大きい。
Dselect count:n ">" 1
Dselect NUM FIELD count GT 1
(上記2例は同じ結果となる。「:n」またはNUMが必要なことに注意。)
フィールド"keywd"の値が"database"または"DB"という文字列を含む。
Dselect keywd =~ database OR keywd =~ DB
同じ条件を次のように書くことができる。
Dselect keywd =~ "{" database DB "}"
フィールド"keywd"のすべての値が, 大文字ではじまり,小文字が続くアルファベットだけでできている語。
Dselect NOT keywd UNLIKE "^[A-Z][a-z]+$"
(UNLIKEは最低一つマッチしない値があるかをテストする)
フィールド"mark"(繰り返しはないと仮定する)が値"*"をもつ。
Dselect mark == CONST "*"
(CONSTが必要である。理由:'*'は予約語のため。)
フィールド"mark"(繰り返しはないと仮定する)の値が"+"または"*"。
Dselect "{" "+" "*" "}" INCL FIELD mark
(キーワードFIELDが必須である。FIELDがないとmarkが定数になってしまう。)
100レコードごとに1レコードづつの抽出。
Dselect REC# % 100 == 1
大小文字を同一視する条件。
Dselect TOUPPER keywd =~ TOKYO
マニュアル D_msg参照。
MIYAZAWA Akira