Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 包含以下内容的文件中的Powershell搜索字符串$_String_File_Powershell_Search - Fatal编程技术网

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。最佳实践是,当字符串包含明确希望展开的变量和/或子表达式时,只使用双引号。