sed は 01.00.* を探して ${version} に置き換えます。

sed は 01.00.* を探して ${version} に置き換えます。

私が使用するコマンドは

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]*/

単一文字ではない点を使用して\.一致させます。.

おすすめ記事