Systemwalker Operation Manager リファレンスマニュアル - UNIX/Windows(R)共通 - |
目次 索引 |
第16章 Systemwalkerスクリプト | > 16.2 Systemwalkerスクリプトで使用するコマンド・制御文 |
文字列と正規表現のマッチング検査と一致部分の切り出しをします。
regexp exp string 【matchvar】 【submatchvar1 submatchvar2 …】 |
正規表現とは、文字列の構造を記号で表したもので、本コマンドはstringで指定した文字列中に正規表現expで表した構造に一致する部分があるか検査するものです。
一致した場合は、expで表した構造に一致した部分をstringから切り出し、matchvarの変数に格納します。また、正規表現中には任意の箇所に任意の個数だけ文字列の切り出し箇所を指定可能で、その指定がある場合は前から順にsubmatchvarの変数に格納されます。正規表現の書き方については、“正規表現”を参照してください。
0: |
一致しませんでした。 |
1: |
一致しました。 |
文字列中に“,”(コンマ)があるか検査し、ある場合は一致部分すべてを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”が格納されます。
なし
目次 索引 |