-1

text.txtというタブ区切りファイルがあります。次のように。

a\tb
c\td

私はシェフの実行で、そのファイルをmyhashと呼ばれるハッシュにロードする必要があります。

それ、どうやったら出来るの?

4

2 に答える 2

0

テスト ファイルを json に再フォーマットする必要があります。

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

次に、この json ファイルを実行chef-clientまたは提供できます。chef-solo

chef-solo -j myfile.json

これらのデータは、次のようなレシピでノード属性として使用できます。

node[:a] #equals "b"
node[:c] #equals "d"
于 2013-02-08T11:46:24.860 に答える
0

シェフについてはわかりませんが、ここに純粋なルビーソリューションがあります。多分それは役立ちます:

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
于 2013-02-08T11:10:06.793 に答える