2014-04-17 70 views
-1

hy 我解析文件以查找像uid,dbname和url的一些參數。 什麼我嘗試做的是讓哈希所有的價值爲csv文件發送它發送多個參數散列

當我分析我的散列(res_licence)我只有3個PARAMS像

UID,UID「] =」 ADFS 「; url,url'] ='https://mydom.sandboxbk.net'; DBNAME,

我找不到爲什麼他重寫:(

​​

回答

0

我發現了一個解決我的問題,這時候我沒有UID => 「XXX」,URL => 「XXX」

configs = {} 
Dir.glob('configuration_*').each do |filename| 
configs[filename]= Hash.new 
    File.foreach(filename) do |line| 


     if line.include? 'uid' 
       next unless line.match(/(?=uid).*?[\'\"].*?[\'\"](.*?)[\'\"](.*?)[\;\"]/) 
       field, value = line.split("=",2); 
      (configs[filename] = [] << value.strip.gsub("';", "").gsub("'","")) 
       #(configs[filename][:uid] ||= []) << value.strip.gsub("';", "").gsub("'","") 
     end 
    CSV.open("/tmp/data.csv", "wb", Options = {quote_char: "\0" }) {|csv| configs.each {|input| csv << input }} 

現在我有最後一個問題,當我執行腳本我得到的輸出

configuration_groupe-poult.mydomain.net.php,["group", "https://groupe-poult.mydomain.net", "group"] 
configuration_kb-in.mydomain.net.php,["kbin", "https://kb-in.mydomain.net", "kauf"] 

我怎麼能勾去掉'[]和報價「?

0

我的猜測是,該變量是在那裏你將它們分配塊內局部在腳本的開頭添加這樣的:

uid = nil 
url = nil 
dbname = nil