String 包含以下内容的文件中的Powershell搜索字符串$
我想在文本文件中搜索以下字符串:String 包含以下内容的文件中的Powershell搜索字符串$,string,file,powershell,search,String,File,Powershell,Search,我想在文本文件中搜索以下字符串:$$u$$ 我尝试了选择字符串,获取内容,包含。在我看来这是不可能的 我将其用作搜索变量:$ToSearch=“'$'$u'$'$” 它总是给出错误的结果。这是因为大多数搜索过滤器都依赖于正则表达式。正则表达式中的$符号需要转义 在不了解更多您试图实现的目标的情况下,我无法给出很多示例,但这里有一个: 'this is a $$u$$ test' -replace "\$","" “\”是转义字符的意思,意思是逐字翻译 编辑:每评论 $Val = 'this i
$$u$$
我尝试了选择字符串
,获取内容
,包含
。在我看来这是不可能的
我将其用作搜索变量:$ToSearch=“'$'$u'$'$”
它总是给出错误的结果。这是因为大多数搜索过滤器都依赖于正则表达式。正则表达式中的$符号需要转义 在不了解更多您试图实现的目标的情况下,我无法给出很多示例,但这里有一个:
'this is a $$u$$ test' -replace "\$",""
“\”是转义字符的意思,意思是逐字翻译
编辑:每评论
$Val = 'this is a $$u$$ test'
$Val | Select-String "\$+\w\$+" -quiet
-Quiet开关返回t/f而不是字符串值。美元是正则表达式中的保留字符,这会使搜索复杂化
Select字符串的默认搜索模式类型是regex,但您也可以指定
-Simplematch
或-Wildcard
,这两种类型都将消除转义$的需要。如果使用-Wildcard,则需要在匹配的任一端包含wilcard*-“*$$u$$*”
。对于simplematch,只需使用您要匹配的字符串-“$$u$$”
我只想得到一个二进制答案(TRUE/FALSE),无论文本文件中是否可以找到该字符串。更多行可以包含此内容,但一次出现就足以获得真实结果。使用可能更有用的内容编辑答案。请不要忘记对模式进行单引号引用,因为$
也是PowerShell中的特殊字符,并在双引号字符串中计算。$TRUE dat。最佳实践是,当字符串包含明确希望展开的变量和/或子表达式时,只使用双引号。