【发布时间】:2022-02-24 01:17:34
【问题描述】:
我正在跨多个服务器解析错误日志文件,并且需要报告问题错误。 错误日志文件应至少包含以下内容(可以的已知错误):
- ERROR 一些错误文本
- ERROR 更多错误文本
- 错误这里有更多错误文本
我需要的是一个包含以上所有三个文本字符串的 Select-String 搜索模式:
$Search_Str_1 = "ERROR Some error text"
$Search_Str_2 = "ERROR Some more error text"
$Search_Str_3 = "ERROR Here is more error text"
$Search_Str_1、$Search_Str_2 和 $Search_Str_3 是可接受的错误字符串,如果在错误日志中找到,则不应报告。但是,如果发现任何其他错误字符串与上述任何搜索字符串都不匹配,则应将其报告为错误错误。
例子:
- ERROR 一些错误文本
- ERROR 更多错误文本
- 错误这里有更多错误文本
- ERROR 这是错误的错误文本,应该报告
需要将第 4 个错误行(以及与 search_str 1、2 或 3 不匹配的任何其他行)报告为错误行。
假设代码:
$ErrorLog = Get-ChildItem -Path $LOG_PATH -Include Error.log -Recurse | Select-String -notmatch ($Search_Str_1 -or $Search_Str_2 -or $Search_Str_3)
我该怎么做?
【问题讨论】:
标签: powershell