2017-02-07 2 views
1

私の会社が開発するソフトウェアに関するバージョン情報を持つパペットマニフェストがいくつかあります。複数のサブバージョン番号をPowerShellを使用して別のバージョン番号に置き換える

:私はそれは例えば次のようになりますようにだけ、バージョン番号の末尾に文字を追加し、サブバージョンにバージョン番号を変更する必要が

:それは次のようになります

app_version  => '11.6.1d', 

私のマニフェストにはすでにいくつかのサブバージョンが含まれていますので、すでに11.6.1aがあるはずです。 私はさまざまなバージョンと置換値を格納するハッシュテーブルを使用しています:

$versions = @{ 
    '11.6.1[a-zA-Z]' = '11.6.1b'; 
    '11.7.0[a-zA-Z]' = '11.7.0d'; 
    '11.7.2[a-zA-Z]' = '11.7.2b'; 
    '11.8.6[a-zA-Z]' = '11.8.6c'; 
    '11.8.13[a-zA-Z]' = '11.8.13b' 
} 

[a-zA-z]に続くバージョン番号を使用すると、後にのみ、文字が含まれているサブバージョンを変更しますので、私はこれで問題を抱えていますバージョンナンバー。

$versionsで使用する必要がある表現は、11.6.1または11.6.1 + 1の後の文字ですか?

+0

メモとして、パペットマニフェストではなく、Hieraにそのような情報を保存することをおすすめします。手作業でもプログラムでも管理しやすくなります。 –

答えて

1

あなたは11.6.111.6.1dの両方にマッチする正規表現を探しているなら、あなたはおそらくしたい:

、必要に応じて、それが存在する場合は、最後のセット( [a-zA-Z])に一致しますが、それはdoesnのいない場合
11.6.1[a-zA-Z]? 

存在しない。

+0

PowerShellはデフォルトで '11.6.1 [a-z]? 'で大文字と小文字を区別しないので十分です。 –

+0

@AnsgarWiechersはpowershellのユーザーではないので、元々提供されていたパターンOPを基にして、よりよく知っているでしょう。 – ffledgling

+0

ありがとうございます。それが私が探していたものです。私の問題を解決しました。 – Radar

関連する問題