我想在文本文件中搜索以下字符串:$$u$$
我尝试了select-string
,get-content
,.Contains
。在我看来,这是不可能的。
我将此作为变量用于搜索:$ToSearch = "'$'$u'$'$"
它总是会给出错误的结果。
答案 0 :(得分:1)
这是因为大多数搜索过滤器都依赖于正则表达式。正则表达式中的$符号需要转义
如果不了解您正在尝试完成的更多内容,我无法提供更多示例,但这里只有一个:
'this is a $$u$$ test' -replace "\$",""
' \'正在逃避角色 - 意味着从字面上翻译它。
编辑:每条评论
$Val = 'this is a $$u$$ test'
$Val | Select-String "\$+\w\$+" -quiet
-Quiet开关返回t / f而不是字符串值。
答案 1 :(得分:0)
$是正则表达式中的保留字符,这使您的搜索变得复杂。
Select-String的默认搜索模式类型是regex,但您也可以指定-Simplematch
或-Wildcard
,其中任何一个都将无需转义$。如果您使用-Wildcard,则需要在匹配的任一端包含wilcard * - '*$$u$$*'
。对于simplematch,只需使用您要匹配的字符串 - '$$u$$'
。