如何从 PS 输出中过滤掉特定值
How to filter out a particular value from PS output
我是 运行 一个 PS 命令 get-Keyproperty
,它以下面的 table 格式返回结果
Key Label Policy Running Required
--- ----- ------ ------- --------
abc UI on True False
efg UI off True False
我想检索 Policy
的值,即 on
如何检索 abc
Key
的 Policy
值?
我是 运行 get-Keyproperty | Select-Object abc
但它不起作用。
要获取 Policy
的值,请尝试 运行
Get-Keyproperty | Select-Object -ExpandProperty Policy
尽管上面的命令是推荐的方式,但您也可以使用 (Get-Keyproperty).Policy
.
获得相同的结果
如果你想检查值是否匹配 "on" 只需做 (Get-Keyproperty | Select-Object -ExpandProperty Policy) -eq "on"
如果您想要某个条目的 Policy
值,您可以:
选择条目在 table
中的位置
(Get-Keyproperty | Select-Object -ExpandProperty Policy)[0]
或者找到它超过它的值 Key
Get-Keyproperty | Where-Object {$_.Key -eq "abc" } | Select-Object -ExpandProperty Policy
如评论中所述,同一命令的更短方式是
(Get-Keyproperty | ? Key -eq "abc").Policy
?
是一个别名 (Get-Alias ?
) 并且 {script block}
仅对于更复杂的表达式是必需的,然后需要 $_.Key
或 $PSItem.Key
(在PSv3中引入)表示法;这两者都是管道中当前对象的同义词。见 Get-Help Where-Object
.
我是 运行 一个 PS 命令 get-Keyproperty
,它以下面的 table 格式返回结果
Key Label Policy Running Required
--- ----- ------ ------- --------
abc UI on True False
efg UI off True False
我想检索 Policy
的值,即 on
如何检索 abc
Key
的 Policy
值?
我是 运行 get-Keyproperty | Select-Object abc
但它不起作用。
要获取 Policy
的值,请尝试 运行
Get-Keyproperty | Select-Object -ExpandProperty Policy
尽管上面的命令是推荐的方式,但您也可以使用 (Get-Keyproperty).Policy
.
如果你想检查值是否匹配 "on" 只需做 (Get-Keyproperty | Select-Object -ExpandProperty Policy) -eq "on"
如果您想要某个条目的 Policy
值,您可以:
选择条目在 table
中的位置(Get-Keyproperty | Select-Object -ExpandProperty Policy)[0]
或者找到它超过它的值
Key
Get-Keyproperty | Where-Object {$_.Key -eq "abc" } | Select-Object -ExpandProperty Policy
如评论中所述,同一命令的更短方式是
(Get-Keyproperty | ? Key -eq "abc").Policy
?
是一个别名 (Get-Alias ?
) 并且{script block}
仅对于更复杂的表达式是必需的,然后需要$_.Key
或$PSItem.Key
(在PSv3中引入)表示法;这两者都是管道中当前对象的同义词。见Get-Help Where-Object
.