2016-05-18 7 views
1

私はワークフローフォルダ内のすべてのファイルを検索し、 'TextBox.TextBox'パターンに一致するファイルのみを検索するために以下のコマンドを書きました。それは正常に働いた。PowerShell - 特定の行からパターンを検索する

ここで、コマンドを変更して、1行目から50行目までのパターンのみを検索し、ファイル全体を検索するようにしたいとします。どうやってやるの ?

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

答えて

2

あなたは50 LineNumberほぼ等しいとすべての一致をフィルタリングするWhere-Objectコマンドレットを使用することができます:あなたはGet-ContentSelect-Object -First使用することができます

Get-ChildItem E:\Test\Workflow -Recurse | Select-String -pattern "TextBox.TextBox" -SimpleMatch | Where-Object LineNumber -le 50 group path 
+0

感謝を...... ........ – user664481

3

Get-ChildItem E:\Test\Workflow -Recurse |ForEach-Object { 
    Get-Content -Path $_.FullName |Select-Object -First 50 
} |Select-String -Pattern "TextBox.TextBox" -SimpleMatch 
+0

@ user664481あなたが受け入れるようにあなたが望む答えをマークすることはもちろんですが、私は答えをマークすることを検討しますwあなたが最初に来たと思われる質問に最もよく答えます。あなたのファイルの大きさにもよりますが、検索を行うためにファイル全体を読み込まない場合と同じように、この方が良いかもしれません。 – Matt

関連する問題