Select-String命令返回文件名,行号和文本,但我只想要文本

时间:2016-04-11 15:34:30

标签: powershell

@powershell -command sls "succeeded" pol_inst.log 

给了我

pol_inst.log:259: Security Gateway policy installation succeeded for:

我不想要

pol_inst.log:259:

我似乎无法找到一个简单的答案

3 个答案:

答案 0 :(得分:2)

Select-String "succeeded" pol_inst.log | ForEach-Object Line

或者从命令行调用它:

@powershell -command Select-String "succeeded" pol_inst.log ^| ForEach-Object Line

答案 1 :(得分:1)

这是因为Select-String会返回MatchInfo个对象的集合。除了结果之外,还包含很多东西。

简单的解决方案是使用.Line属性,如此

select-string -path c:\myFile -pattern "myPattern" | % { $_.line }

答案 2 :(得分:1)

展开Line生成的MatchInfo个对象的Select-String属性:

Select-String ... | Select-Object -Expand Line