包含$的文件中的Powershell搜索字符串

时间:2014-09-24 12:56:25

标签: string file powershell search

我想在文本文件中搜索以下字符串:$$u$$

我尝试了select-stringget-content.Contains。在我看来,这是不可能的。

我将此作为变量用于搜索:$ToSearch = "'$'$u'$'$"

它总是会给出错误的结果。

2 个答案:

答案 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$$'