gpt4 book ai didi

powershell - 过滤PowerShell输出值

转载 作者:行者123 更新时间:2023-12-03 01:15:41 25 4
gpt4 key购买 nike

PS C:\> Get-EC2Instance |%{ $_.RunningInstance } | Select-Object InstanceId,ImageID,@{Name='TagValues'; Expression={ ($_.Tags |%{ $_.Value }) }}

InstanceId ImageId TagValues
---------- ------- ---------
i-230151d5 ami-20224b10 Scott
i-8c80f27a ami-e7527ed7 {landscape123, test123}
i-3d3195cb ami-0b5f073b temp

如何修改命令,以便仅过滤和显示“landscape *”?
InstanceId         ImageId             TagValues
---------- ------- ---------
i-8c80f27a ami-e7527ed7 landscape123

最佳答案

在某些情况下,Tags属性看起来包含多个值。像这样更改您的计算属性以将其限制为单个值:

@{Name='TagValues'; Expression={$_.Tags | select -Expand Value | select -First 1}}

并添加一个过滤器以将结果限制为具有特定标记值的对象:

Get-EC2Instance |
select -Expand RunningInstance |
select InstanceId, ImageID,
@{n='TagValues';e={$_.Tags | select -Expand Value | select -First 1}} |
? { $_.TagValues -eq 'landscape123' }

如果要为一个实例保留多个标签,请执行以下操作:

Get-EC2Instance |
select -Expand RunningInstance |
select InstanceId, ImageID,
@{n='TagValues';e={$_.Tags | select -Expand Value}} |
? { @($_.TagValues) -contains 'landscape123' }

如果您需要对其中一个标签进行部分匹配,请执行以下操作:

Get-EC2Instance |
select -Expand RunningInstance |
select InstanceId, ImageID,
@{n='TagValues';e={$_.Tags | select -Expand Value}} |
? { $_.TagValues | ? { $_ -like 'landscape*' } }

关于powershell - 过滤PowerShell输出值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30456310/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com