【发布时间】:2015-05-28 21:57:46
【问题描述】:
如果我使用wbemcli 枚举所有实例,我会得到类似的结果:
wbemcli -nl -t -noverify ei 'https://aaa/aaa:aaa'
https://aaa/aaa:aaa.Version="",Vendor="",Name=""
-Version#=""
-Vendor#=""
-Name#=""
-Description=""
我怎样才能调用wbemcli 只获得一件物品(即Name)?而不是一切。
-t 选项表示:
-t
将数组 ([])、引用 (&) 和关键属性 (#) 指示符附加到属性名称
但我无法利用它对我有利。
有没有办法以键/值对格式检索此信息?
或者也许将输出通过管道传输到一个数组中,或者我可以从中获取我需要的东西?
当我将输出放入数组时,所有数据都存储在第一个元素${a[0]} 中。
编辑 这是一个输出示例:
$ wbemcli -nl -t -noverify ei 'https://user:pw@000.000.000.000:0000/root/aaa:AA_AaaAaaaAaaaa'
000.000.000.000:0000/root/aaa:AA_AaaAaaaAaaaa.ClassName="AA_AaaAaaaAaaaa",Name="123456a7ff890123"
-ClassName#="AA_AaaAaaaAaaaa"
-Name#="123456a7ff890123"
-Caption="aa aaa"
-Description="aa aa"
-ElementName="aa aaa aaaa"
-OperationalStatus[]=2
-HealthState=5
-CommunicationStatus=2
-DetailedStatus=1
-OperatingStatus=0
-PrimaryStatus=1
-EnabledState=5
-RequestedState=12
-EnabledDefault=2
-TransitioningToState=12
-PrimaryOwnerName="Uninitialized Contact"
-PrimaryOwnerContact="Uninitialized Contact"
输出通常采用这种格式。
如果查询返回多个对象,则它们将被分组,并且所有对象都将具有相同的成员及其相应的值。
【问题讨论】:
-
以
-为前缀的行上的值是否只是复制以https开头的行上的值?输出总是这样吗?您可以一次在多个 URL 上运行它吗(并且需要独立检索每个Name值)? -
@EtanReisner 我编辑了我的帖子以反映您的问题。
-
用管道传送到
awk -F '[-=]' '$1==Name{print $2}'? (假设-和=都不能出现在键或值中。如果可以,那么您需要的还不止这些。)