将命令输出字符串转换并打印到哈希对象

时间:2016-11-16 12:21:53

标签: ruby hash

我有一个存储在字符串变量中的命令输出。 我试图将其转换为ruby脚本中的哈希对象。

这是命令输出:

#lldptool get-tlv -n -i p2p1
Chassis ID TLV
            MAC: 00:xx:xx:xx:xx:xx
    Port ID TLV
            Ifname: Ethernet1/3

    System Capabilities TLV
            System capabilities:  Bridge, Router
            Enabled capabilities: Bridge

所以我希望最终结果是{key:value}对的格式。

{"Chassis ID TLV”=>"00:xx:xx:xx:xx:xx", "Port ID TLV”=>“Ethernet1/3”, "System Capabilities TLV"=>{"System capabilities"=>"Bridge, Router", "Enabled capabilities"=>"Bridge"} }

这是我试过的

lldp_hash = {
    # LLDP Name    Numeric value
    'chassisID'    => '1',
    'portID'       => '2',
    'System Capabilities TLV' => '3'
  }

x = `lldptool get-tlv -n -i p2p1  2>/dev/null`
x = x.split("\n")
puts x

我没有想办法把键分配给字符串中的值,我可以用它来打印上面所需的哈希格式。 有人可以提供一些帮助。

0 个答案:

没有答案