需要powershell命令检测与*字符匹配的行以匹配任意数量的字符串

时间:2017-11-06 01:56:24

标签: powershell

下面的命令将从文件中找到部分匹配行并将其删除 Set-Content -Path“file.config”-Value(get-content -Path“file.config”| Select-String -Pattern'intry = 67889_ $ d _ * _ 0.1'NotMatch

没有*的命令工作正常,但在*之间匹配任何字符串都不起作用且没有输出

1 个答案:

答案 0 :(得分:0)

我想你可能会遇到两个问题。如果您有变量$d,那么您需要写${d}_而不是$d_,因为_是一个有效的变量字符,您的变量名称被视为$d_对于*,它表示任意数量的前进字符,如果您想要一个完整的通配符,则可以使用.*,因为.匹配任何字符。

Select-String -Pattern' entry = 67889 _ $ {d} _。* _ 0.1'

请注意,这也意味着您需要转义.中的0.1,例如0\.1,如果您需要它只匹配句点字符。