我想创建PowerShell脚本,将通过一些Sql Server脚本的日志文件,并调查存在的单词“错误”。我这样做:PowerShell正则表达式错误,除了从DBCC警告
Get-Content $log | Select-String "error" -quiet #returns true/false
或 Get-Content $ log |选择字符串“错误” #returns线与“错误”
问题是,我的日志文件中还包含来自DBCC类似的警告:
26: DBCC execution completed. If DBCC printed error messages, contact your system administrator.
24: DBCC execution completed. If DBCC printed error messages, contact your system administrator.
如何列出只是“错误”行,但不“如果DBCC打印错误消息”? 我尝试了诸如:
Get-Content "d:\InsightMasterESF\logs\currentlog.txt" | Select-String -pattern "(error)(?!If DBCC printed error messages)"
但我不知道正则表达式的模式很好。
正则表达式的第一条规则是“知道你的数据”。如果您需要正则表达式的帮助,我们需要确切知道我们需要匹配的数据是什么样的。 – mjolinor