我能够使用Select-String返回包含我要查找的某些文本的文件列表:
Get-ChildItem *.cs -recurse | Select-String -SimpleMatch ".ToList()" | group path | select name
我想做的是将后续过滤器应用于查询结果。我想做类似的事情:
if($fileSet -eq $null)
{
$fileSet = Get-ChildItem *.cs -recurse | Select-String -SimpleMatch ".ToList()" | group path | select name
}
$fileSet | Select-String -SimpleMatch "Additional Term" | group path | select name
我认为我需要一种将文件数组($ fileSet)的内容传递给Select-String的方法;但是我很确定我会犯错。任何帮助表示赞赏!
答案 0 :(得分:1)
怎么样?
Get-ChildItem *.cs -Recurse | Select-String -SimpleMatch ".ToList()" | ForEach-Object {
$_ | Select-String -SimpleMatch "Additional Term"
} | Group-Object Path | Select-Object -ExpandProperty Name
答案 1 :(得分:0)
能够按摩已接受的答案以保持与问题结构相似的内容
if($fileSet -eq $null)
{
$fileSet = Get-ChildItem *.cs -recurse | Select-String -SimpleMatch ".ToList()"
}
$fileSet | foreach {
Select-String -Path $_.Path -SimpleMatch "Additional Term"
} | Group-Object Path | Select-Object -ExpandProperty Name