我有一个存储在字符串变量中的命令输出。 我试图将其转换为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
我没有想办法把键分配给字符串中的值,我可以用它来打印上面所需的哈希格式。 有人可以提供一些帮助。