首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用ruby解析dmidecode

用ruby解析dmidecode
EN

Stack Overflow用户
提问于 2010-09-21 19:39:22
回答 1查看 541关注 0票数 1

给定dmidecode的输出

代码语言:javascript
复制
Handle 0x0025, DMI type 13, 22 bytes
BIOS Language Information
  Installable Languages: 1
    en|US|iso8859-1
  Currently Installed Language: en|US|iso8859-1

Handle 0x0026, DMI type 16, 15 bytes
Physical Memory Array
  Location: System Board Or Motherboard
  Use: System Memory
  Error Correction Type: Single-bit ECC 
  Maximum Capacity: 16 GB
  Error Information Handle: Not Provided
  Number Of Devices: 4

现在,我正在寻找regex/ ruby组合或其他东西来获得类似的数据结构

代码语言:javascript
复制
{ "BIOS Language Information" =>
    { "Installable Languages" =>  "1\n    en|US|iso8859-1", 
      "Currently Installed Language" => "en|US|iso8859-1"},
   "Physical Memory Array" =>
    { "Location" => "System Board Or Motherboard",
      "Use" => "System Memory"} }
EN

回答 1

Stack Overflow用户

发布于 2010-09-27 18:22:58

代码语言:javascript
复制
Hash[
    text.scan(/^(?:(\S.*?)\n((?: +.+\n?)+))/).map { |a,b|
        [a,
        Hash[
                b.scan(/  (.+?): (.+(?:(?:\n    .+))*)/)
            ]
        ]
    }
]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3759899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档