首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在powershell中使用select-string排除搜索模式

在powershell中使用select-string排除搜索模式
EN

Stack Overflow用户
提问于 2016-08-24 22:58:46
回答 2查看 26.2K关注 0票数 18

我使用select字符串来搜索文件中的错误。是否可以像grep一样排除搜索模式。例如:

代码语言:javascript
复制
grep ERR* | grep -v "ERR-10"

select-string -path logerror.txt -pattern "ERR"

logerror.txt

代码语言:javascript
复制
OK
ERR-10
OK
OK
ERR-20
OK
OK
ERR-10
ERR-00

我想要得到所有的ERR行,但不是ERR-00和ERR-10

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-25 21:06:39

我想你可以在这里使用Where-Object

代码语言:javascript
复制
Write-Output @"
OK
ERR-10
OK
OK
ERR-20
OK
OK
ERR-10
ERR-00
"@ > "C:\temp\log.txt"

# Option 1.
Get-Content "C:\temp\log.txt" | Where-Object { $_ -Match "ERR*"} | Where-Object { $_ -NotMatch "ERR-[01]0"}

# Option 2.
Get-Content "C:\temp\log.txt" | Where-Object { $_ -Match "ERR*" -and $_ -NotMatch "ERR-[01]0"}
票数 6
EN

Stack Overflow用户

发布于 2017-11-01 02:43:55

为此,我使用了"-NotMatch“参数

代码语言:javascript
复制
PS C:\>Get-Content .\some.txt
1
2
3
4
5
PS C:\>Get-Content .\some.txt | Select-String -Pattern "3" -NotMatch    
1
2
4
5

对于您的情况,答案是:

代码语言:javascript
复制
Get-Content .\logerror.txt | Select-String -Pattern "ERR*" | Select-String -Pattern "ERR-[01]0" -NotMatch
票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39126832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档