Powershell:解析日志文件区分大小写
我是powershell新手,需要一个非常简单的脚本帮助。 我有一个大的日志文件(100 M),我想解析并返回错误和警告消息。Powershell:解析日志文件区分大小写,powershell,Powershell,我是powershell新手,需要一个非常简单的脚本帮助。 我有一个大的日志文件(100 M),我想解析并返回错误和警告消息。 以下是日志文件的格式: 2013-04-18T10:38:04110信息[00002865]30:toto.toto-警告:变量sousdomn existe déjápour le fichier WORK.RGPDROITS 目的是检查粗体值(可以是WARN;ERROR;INFO)和粗体值为“WARN”或“ERROR”的返回行 以下是在警告值上测试的脚本: $log
以下是日志文件的格式: 2013-04-18T10:38:04110信息[00002865]30:toto.toto-警告:变量sousdomn existe déjápour le fichier WORK.RGPDROITS 目的是检查粗体值(可以是WARN;ERROR;INFO)和粗体值为“WARN”或“ERROR”的返回行 以下是在警告值上测试的脚本:
$logfile = "C:\log\logfile.log"
cat $logfile |
Select-String -pattern WARN -CaseSensitive|
select -expand line |
foreach {
write-output $_.
}
不幸的是,当包含字符串警告时,它还会返回“INFO”消息:
2013-04-18T10:38:04141信息[00002865]30:toto.toto-警告:法国象征性非特质服装
我想,我需要使用类似-clike选项的东西?将您的模式替换为:
Select-String -Pattern "\sWARN\s"
\s
表示空格。在上面的代码中,您可以在模式字符串中使用正则表达式。模式警告将捕获字符串“警告”,因此您需要在正则表达式中添加额外的空格\s以避免警告,这样才能生成正确的代码
$logfile = "C:\log\logfile.log";
cat $logfile |
Select-String -pattern WARN\s -CaseSensitive|
select -expand line |
foreach {
write-output $_.
}
您不需要感谢,只需将答案标记为有用(向上箭头)或作为答案