2

あるファイルのプロパティを別のファイルのプロパティから置き換えたい。(私はrubyを初めて使用し、RubyとYAMLについて読みました。Javaのバックグラウンドを持っています)

例えば。

ファイル1

server_ip_address=$[ip]
value_threshold=$[threshold]
system_name=$[sys_name]

ファイル2

ip=192.168.1.1
threshold=10
sys_name=foo

rubyスクリプトは、$値を実際の値に置き換え($ []がrubyで使用される形式かどうかはわかりません。また、ファイル1と2はYAMLファイルまたはerbファイルである必要がありますか?)、ファイル1を次のように生成する必要があります。 :

server_ip_address=192.168.1.1
value_threshold=10
system_name=foo

私はこれをウェブで検索しましたが、グーグルで解決策/解決策/参考資料へのポインターを見つけるための正しいキーワードでそれを表現することができませんでした。これは、rubyスクリプトでどのように実行できますか?

ありがとう

4

1 に答える 1

1

フォーマットを切り替えることができる場合、これは次のように簡単です。

require 'yaml'

variables = YAML.load(File.open('file2.yaml'))
template = File.read('file1.conf')

puts template.gsub(/\$\[(\w+)\]/) { variables[$1] }

テンプレートはそのままでかまいませんが、置換ファイルは次のようになります。

ip: 192.168.1.1
threshold: 10
sys_name: foo

これにより、YAML ライブラリを使用して簡単に読み込むことができます。

于 2013-02-20T08:09:39.140 に答える