2013-02-08 4 views
-1

나는 text.txt라는 탭으로 구분 된 파일을 가지고 있습니다. 다음과 같이셰프와 루비 해시에 텍스트 파일을로드하는 방법

a\tb 
c\td 

나는 셰프를 실행하여 해당 파일을 myhash라는 해시로로드해야합니다.

어떻게하면됩니까?

+0

아무것도 내가 파이썬에서 할 수있는 것처럼 루비 파일을 여는 방법을 모른다. 나는 요리사를 사용하지만 파이썬 개발자는 – Tampa

+0

Ruby 파일 문서 : http://ruby-doc.org/core-1.9.3/File.html – Huluk

+0

http://stackoverflow.com/questions/14730833/how-i- 캡처 할 수있는 값 - 명령 줄 및 추가 레서피 –

답변

0

저는 요리사에 대해 모르지만, 순수한 루비 솔루션입니다. 아마 도움 :

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

을 그리고 당신이 chef-client 또는 chef-solo이 JSON 파일 제공 실행할 수 있습니다 :

chef-solo -j myfile.json 

당신의 뜻을 당신은 JSON으로 테스트 파일을 포맷해야

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 
0

이러한 데이터를 다음과 같은 레시피에서 노드 속성으로 사용할 수 있습니다.

node[:a] #equals "b" 
node[:c] #equals "d" 
관련 문제