下面的命令将从文件中找到部分匹配行并将其删除 Set-Content -Path“file.config”-Value(get-content -Path“file.config”| Select-String -Pattern'intry = 67889_ $ d _ * _ 0.1'NotMatch
没有*的命令工作正常,但在*之间匹配任何字符串都不起作用且没有输出
答案 0 :(得分:0)
我想你可能会遇到两个问题。如果您有变量$d
,那么您需要写${d}_
而不是$d_
,因为_
是一个有效的变量字符,您的变量名称被视为$d_
对于*
,它表示任意数量的前进字符,如果您想要一个完整的通配符,则可以使用.*
,因为.
匹配任何字符。
Select-String -Pattern' entry = 67889 _ $ {d} _。* _ 0.1'
请注意,这也意味着您需要转义.
中的0.1
,例如0\.1
,如果您需要它只匹配句点字符。