私が使用するコマンドは
sed -i "s/01.00.*/${version}/g" file.json
結果:"${version}
予想される"${version}"
例:
"params": {
"pipeline_branch":"master",
"git_repo_url":"blah.git",
"ARTIFACTORY_TAR_VERSION" : "01.00.00.26"
}
01.00.00.26の値(または変更される01.00。*、通常はpomバージョン)をsedし、シェルを介して取得された「$ {version}」値に置き換えることができるようにしたいです。
Jenkinsタスクを介してLinuxで実行する予定です。私が使用したコマンドはsed
(ほぼ)完全に機能しましたが、最後の二重引用符を削除しました。
ベストアンサー1
sed コマンドの問題は、一致する項目が多すぎるということです。このパターンを見て分析しましょう。
/01.00.*/
01 # exact match (so far, so good)
. # any character (too generous)
00 # exact match
.* # the rest of the line
私たちが一致させたい項目01.00.
の後には数字と点がいくつかあります。
/01\.00\.[.0-9]*/
単一文字ではない点を使用して\.
一致させます。.