次の行を含むファイルがあります。
戦争{ デフォルト名 = '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
復元)と変数のテキストに置き換えます。ここには必要な内容がすべて含まれているため、引用符は問題になりません。中にあれば安全です。)