Systemwalker Centric Manager スクリプトガイド - UNIX/Windows(R)共通 - |
目次 索引 |
第2章 文法 | > 2.3 Systemwalkerスクリプトで使用するコマンド・制御文 |
文字列と正規表現のマッチング検査と、一致部分の切り出しをします。
regexp exp string 【matchvar】 【submatchvar1 submatchvar2 ....】 |
正規表現とは、文字列の構造を記号で表したもので、本コマンドはstringで指定した文字列中に、正規表現expで表した構造に一致する部分があるか検査するものです。
一致した場合は、expで表した構造に一致した部分を、stringから切り出し、matchvarの変数に格納します。
また、正規表現中には、任意の箇所に任意の個数だけ、文字列の切り出し箇所を指定可能で、その指定がある場合は、前から順にsubmatchvarの変数に格納されます。
正規表現の書き方については、“正規表現”を参照してください。
文字列中に“、”(カンマ)があるか検査し、ある場合は一致部分すべてをallに、カンマの前の部分と後の部分をそれぞれ変数sub1、sub2に切り出します。(カンマの前後は空文字でも可)
regexp {(.*),(.*)} $text all sub1 sub2 |
以下のメッセージから、“< >”で囲まれた部分を切り出して、変数Var0に格納します。
ネットワークで"LinkUp"が発生しました。<DBサーバに異常が発生しました。> |
regexp {<([^>]*)} $EventText All Var0 |
変数Var0には“.DBサーバに異常が発生しました。”が格納されます。
以下のメッセージから“JobName=”以降から空白までの部分を変数Var0に、RC=以降の“[ ]”(大括弧)で囲まれた部分を変数Var1に、“device=”以降の“( )”(小括弧)で囲まれた部分を変数Var2に、それぞれ切り出して格納します。
JOBNET Error. JobName=SCRJB_1 RC=[0022] xxx- device=(DX038) |
regexp {JobName=([^ ]*) RC=\[([^\]]*)\] .*device=\(([^\)]*)\)} $EventText All Var0 Var1 Var2 |
それぞれ変数Var0には“SCRJB_1”、変数Var1には“0022”、変数Var2には“DX038”が格納されます。
なし
目次 索引 |