PowerShell findstr字符串中的通配符

时间:2019-02-14 00:21:54

标签: powershell wildcard findstr

我正在使用findstr在某些文件中寻找特定的配置设置。在这种情况下,我正在寻找以字符串*=开头的行,但也可能是* =* =等(星号和等号之间的空格)

到目前为止,我已经尝试过:

findstr /s /i /b "*\*=" .\config.ini
findstr /s /i /b "*.*=" .\config.ini
findstr /s /i /b "*`*=" .\config.ini

基本上,我可以在PowerShell文档中找到任何转义字符,但均不成功。

1 个答案:

答案 0 :(得分:0)

在ini文件中搜索模式时,可以使用正则表达式样式。

我使用了这个测试config.ini:

*=abc
* = cde
**=avc
a=b
c = d
e =

使用此命令,我得到您在问题中描述的行:

findstr /R /C:"^\*[ ]*=.*" config.ini

结果是:

*=abc
* = cde

这里是正则表达式的描述:^表示行的开头。然后,您要求一个*。您必须对其进行转义,因此必须使用\*。之后,可以有任意数量的空格,因此您已将其放入正则表达式类中,即[ ]*[<space>]*)。在空格之后,有一个等号=,在等号之后,可以有任何其他字符,因此.*