忽略 FINDSTR 搜索中的第一行

Ignore first line in FINDSTR search

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

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

click for findstr documentation

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

不幸的是,我不知道如何使用 findstr 命令执行此操作。

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

如果您想继续使用 findstr,您只需将输出通过管道传输到 Select-Object:

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