私は入力ファイルと正規表現を与えるようにPowerShellスクリプトを作成しようとしていますが、一致するコンテンツを環境変数に置き換えます。PowerShellの文字列置換
例えば、
入力ファイルには、次のものが含まれている場合:
<?xml version="1.0" encoding="utf-8"?>
<Application xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Name="fabric:/Services" xmlns="http://schemas.microsoft.com/2011/01/fabric">
<Parameters>
<Parameter Name="IntegrationManager_PartitionCount" Value="1" />
<Parameter Name="IntegrationManager_MinReplicaSetSize" Value="2" />
<Parameter Name="IntegrationManager_TargetReplicaSetSize" Value="#{INT_MGR_IC}" />
<Parameter Name="EventManager_InstanceCount" Value="#{EVT_MGR_IC}" />
<Parameter Name="Entities_InstanceCount" Value="#{ENT_IC}" />
<Parameter Name="Profile_InstanceCount" Value="#{PRF_IC}" />
<Parameter Name="Identity_InstanceCount" Value="#{IDNT_IC}" />
</Parameters>
</Application>
私はそうでINT_MGR_IC
環境変数の値を#{INT_MGR_IC}
を置き換え、スクリプトを構築したいと思います。
このようなスクリプトを知っているか、正しい方向に向けることができれば、大きな助けになります。具体的には、私が知って興味を持ってどのように:私は鍵を持っていたら#{INT_MGR_IC}
、#{EVT_MGR_IC}
など
- エキスとループ環境変数。例えば、
#{INT_MGR_IC}
とINT_MGR_IC
のenv。変数。
この覗くためのたくさんありがとう:)
UPDATE 1
これは私が使用することを予定しております正規表現です:/#{(.+)}/g
ループオーバーキーとは何ですか?各パラメータをループしますか? –
@jisaak:正しい。1. '#{'と '}' ...で囲まれたすべての文字列を抽出し、関連するENV変数に置き換えます。 – Moon
質問を閉じる前に投票を開始する前に、問題を理解するのが難しいかどうか質問してください。私はこれが有効な質問だと思う。少なくとも、これは私が仕事で解決しようとしている有効な問題です。特に、自動化されたビルド/デプロイメントプロセスで設定ファイルの変換が行われる場合は、誰かが利益を得ると確信しています。 – Moon