我有一个多行字符串,我想用' Select-String'
过滤echo $foo
bar
buzz
如果我使用带字符串参数的select-string,它可以正常工作
echo $foo | Select-String 'bar'
bar
如果我尝试用变量替换字符串选择,则不返回任何内容。
$variable = 'bar'
echo $foo | Select-String $variable
如何将变量传递给Select-String?
以下是我尝试的每种语法
echo $foo | Select-String $variable
echo $foo | Select-String "$variable"
echo $foo | Select-String "$(variable)"
echo $foo | Select-String "$($variable)"
echo $foo | Select-String $($variable)
$ variable是一个字符串
$variable.getType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object
答案 0 :(得分:0)
使用变量对我有用:
> $needle = 'Import' ; @( 'fu', 'bar', 'Import' ) | Select-String $needle
Import
检查$foo
是否实际包含$variable
中的值。检查您是否实际将某些内容传递给Select-String
(有时我忘记键入|
字符)。验证您的所有假设。