Dselect [ -F ] Dl-expression [input-file..]
Dsel は Dselectの短縮形(UNIXのみ)。
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参照。
Dintro、 Dextract、 Dgrep、 Dhead、 Dtail、 Dl、 D_msg。
MIYAZAWA Akira