※ ChatGPTを利用し、要約された質問です(原文:powershell 複数の文字列を連続で検索する)
powershell 複数の文字列を連続で検索する
このQ&Aのポイント
サーバのログを検索一覧の内容(正規表現で複数のキーワードをAND検索する)から順番に検索して見つかったら”○”を表示させるスクリプトを作成しておりますが、うまく出来ずアドバイスを頂きたいです。よろしくお願いいたします。
環境としましては、サーバから取得したログをローカルのPCで作業しております。powershellのバージョンは5.1です。
作成中のスクリプトでは、まず検索一覧ファイルを配列に格納し、サーバのログ内容を変数に格納しています。そして、配列を順番に検索して、見つかったら○を表示し、見つからなかったら×を表示しています。しかし、うまく動作しません。アドバイスをいただけると助かります。
powershell 複数の文字列を連続で検索する
サーバのログを検索一覧の内容(正規表現で複数のキーワードをAND検索する)から順番に検索して見つかったら”○”を表示させるスクリプトを作成しておりますが、うまく出来ずアドバイスを頂きたいです。よろしくお願いいたします。
※環境としましては、サーバから取得したログを
ローカルのPCで作業しております。
powershellのバージョンは5.1です。
(検索一覧:kensakulist.txt)
^(?=.*○)(?=.*△)(?=.*□).*$
^(?=.*○○)(?=.*△△)(?=.*□□).*$
^(?=.*○○○)(?=.*△△△)(?=.*□□□).*$
......
(以下作成中のスクリプト内容)
# 検索一覧を配列に格納
$Look = @(Get-Content -LiteralPath kensakulist.txt -Encoding UTF8)
# サーバのログ内容を変数に格納
$Log = [IO.File]::ReadAllText("C:\Users\....\Documents\script\powershell\.findlog.txt")
$Ok = "○"
$NG = "×"
# 検索処理する
foreach( $a in $Look ){
#配列を順番に検索
if( $a -match $Log){
echo $Ok;
}
else{
echo $Ng;
}
}