【发布时间】:2016-02-03 13:18:59
【问题描述】:
我需要在整个应用程序代码(超过 10000 个程序)中搜索 10-15 个字符串,因此我已将需要搜索的字符串插入到文本文件“strings.text”中。我还需要知道匹配字符串行的上一行和下一行,所以我在下面的脚本中使用“上下文 1”。但是,以下脚本仅将输出作为匹配的字符串行。
$content = Get-Content strings.txt
ForEach ($Word in $content){
Get-ChildItem -recurse |
Select-String -pattern $Word -Context 1 |
Select- path,line,linenumber,filename |
Export-csv -Path "\result_$word.csv"
}
输出:
Path Line LineNumber FileName
desktop\prog1.txt Server(xyz) 3 prog1.txt
desktop\prog2.txt Server(xyz) 6 prog2.txt
我真正想要的是:
Path Line LineNumber FileName
Connect 2 prog1.txt
desktop\prog1.txt Server(xyz) 3 prog1.txt
stop 4 prog1.txt
Connect 8 prog2.txt
desktop\prog2.txt Server(xyz) 9 prog2.txt
stop 10 prog2.txt
谁能帮助我如何获得这个输出?请建议是否有任何其他方法可以获得所需的输出。
【问题讨论】:
-
扪心自问:如果你懒得去解决你的问题,为什么其他人会这样做?更不用说正确的格式对于理解你想要的结果是至关重要的。
-
真的很抱歉格式化。我按照说明试过了,但没有用。感谢您以正确的格式编辑它,非常感谢。
标签: csv powershell powershell-2.0 export-to-csv