繁体   English   中英

如何在Powershell中使用Select-String处理多种搜索模式

[英]How to handle multiple search patterns using Select-String in Powershell

我正在解析多个服务器上的错误日志文件,并且需要报告问题错误。 错误日志文件应至少包含以下内容(可以的已知错误):

  • 错误一些错误文本
  • 错误更多错误文本
  • 错误这是更多错误文本

我需要的是一个选择字符串搜索模式,其中包括上述所有三个文本字符串:

$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是可接受的错误字符串,如果在错误日志中找到,则不应报告。 但是,如果找到与上述搜索字符串都不匹配的任何其他错误字符串,则应将其报告为严重错误。

例:

  • 错误一些错误文本
  • 错误更多错误文本
  • 错误这是更多错误文本
  • 错误这是错误的错误文字,应报告

第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)

我该怎么做?

select-string -pattern接受一个数组。 将这些搜索字符串放入数组中,然后将其传递给选择字符串。 如果希望它与您传入的模式不匹配,请添加-NotMatch标志。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM