一重引用符内のテキストを変更するには?

一重引用符内のテキストを変更するには?

次の行を含むファイルがあります。

戦争{
    デフォルト名 = 'myapp'
    バージョン='1.0.2'
}

次の変数もあります。

variable=b123

バージョン番号に$variable値を追加するようにファイルを編集したいので、結果は次のようになります。

戦争{
    デフォルト名 = 'myapp'
    バージョン='1.0.2_b123'
}

スクリプトでどのようにこれを達成できますかbash

ベストアンサー1

簡単にできますかsed

$ var=_b123
$ sed -Ee "/version/s/'(.*)'/'\1$var'/" file 
war {
    baseName = 'myApp'
    version = '1.0.2_b123'
}

/version/行に文字列が含まれていることを確認し、文字列がある場合は、一重引用符内の文字列をs同じ文字列((...)キャプチャ、\1復元)と変数のテキストに置き換えます。ここには必要な内容がすべて含まれているため、引用符は問題になりません。中にあれば安全です。)

おすすめ記事