PowerShell - 从特定行搜索模式

时间:2016-05-18 09:38:17

标签: powershell

我在下面写了命令来搜索Workflow文件夹中的所有文件,并只查找匹配pattern' TextBox.TextBox'的那些文件。它工作正常。

现在我想更改命令,使其仅从第1行到第50行搜索模式,而不是搜索整个文件。我怎么能这样做?

Get-ChildItem E:\Test\Workflow -Recurse | Select-String -pattern "TextBox.TextBox" -SimpleMatch | group path 
| select name | measure

2 个答案:

答案 0 :(得分:3)

您可以使用Get-ContentSelect-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