我在下面写了命令来搜索Workflow文件夹中的所有文件,并只查找匹配pattern' TextBox.TextBox'的那些文件。它工作正常。
现在我想更改命令,使其仅从第1行到第50行搜索模式,而不是搜索整个文件。我怎么能这样做?
Get-ChildItem E:\Test\Workflow -Recurse | Select-String -pattern "TextBox.TextBox" -SimpleMatch | group path
| select name | measure
答案 0 :(得分:3)
您可以使用Get-Content
和Select-Object -First
:
Get-ChildItem E:\Test\Workflow -Recurse |ForEach-Object {
Get-Content -Path $_.FullName |Select-Object -First 50
} |Select-String -Pattern "TextBox.TextBox" -SimpleMatch
答案 1 :(得分:2)
您可以使用Where-Object cmdlet过滤所有与LineNumber
不等于50的匹配:
Get-ChildItem E:\Test\Workflow -Recurse | Select-String -pattern "TextBox.TextBox" -SimpleMatch | Where-Object LineNumber -le 50 group path