【问题标题】:Chef and ruby how to to load a text file into a hash [duplicate]Chef和ruby如何将文本文件加载到哈希中[重复]
【发布时间】:2013-01-24 01:57:17
【问题描述】:

我有一个名为 text.txt 的制表符分隔文件。如下。

a\tb
c\td

我是一名厨师,我需要将该文件加载到名为 myhash 的哈希中。

我该怎么做?

【问题讨论】:

标签: ruby chef-infra


【解决方案1】:

我不了解厨师,但这里有一个纯红宝石解决方案。也许有帮助:

file = File.open('test.txt', 'r')
lines = file.readlines
file.close
myhash = Hash.new
lines.each do |line|
  line.chomp!
  key, value = line.split("\t")
  myhash[key] = value
end

【讨论】:

    【解决方案2】:

    您必须将您的测试文件重新格式化为 json:

    {
       "a": "b",
       "c": "d"
    }
    

    然后你可以运行 chef-clientchef-solo 提供这个 json 文件:

    chef-solo -j myfile.json
    

    您将能够将这些数据用作配方中的节点属性,如下所示:

    node[:a] #equals "b"
    node[:c] #equals "d"
    

    【讨论】:

      猜你喜欢
      • 2010-09-19
      • 2015-07-06
      • 2012-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-07
      • 1970-01-01
      • 2012-03-17
      相关资源
      最近更新 更多