忽略FINDSTR搜索中的第一行

时间:2015-01-19 17:01:02

标签: powershell findstr cmdlet

我在Windows 7 PowerShell中使用以下命令在面向对象的Modelica库中搜索某个字符串:

findstr /s /m /i "Searchstring.*" *.*

click for findstr documentation

该库由几个包含文本文件的文件夹组成,其中包含实际代码。为了减少(不需要的)结果的数量,我必须忽略每个文本文件的第一行。

不幸的是,我无法弄清楚如何使用findstr命令执行此操作。

2 个答案:

答案 0 :(得分:1)

您可以使用Select-String代替findstr

要获得除第一行之外的所有匹配,请尝试以下方法:

Select-String -Path C:\dir\*.* -pattern "Searchstring*" | where {$_.LineNumber -gt 1}

如果您必须搜索子目录,可以将其与Get-Childitem配对:

Get-Childitem C:\dir\*.* -recurse | Select-String -pattern "Searchstring*" | where {$_.LineNumber -gt 1}

答案 1 :(得分:1)

如果您想继续使用findstr,只需将输出管道输入Select-Object

findstr /s /m /i "Searchstring.*" *.* | select -Skip 1