Bash

如何通過第三個 .(dot) 分隔符拆分字元串

  • September 18, 2019

我做了一些研究,我可以用’。‘分割字元串。但我唯一要替換的是第三個“。”,版本號實際上是可變的,所以我該如何替換/拆分?

version: 1.8.0.110

但我想要的是這樣的輸出:

version: 1.8.0-110

用於sed例如:

$ echo 'version: 1.8.0.110' | sed 's/\./-/3'
version: 1.8.0-110

解釋:

sed s/search/replace/x搜尋一個字元串並替換第二個。x確定要替換哪個出現 - 這裡是第 3 個。通常g用於x表示所有發生。

在這裡,我們希望替換點.,但這是正則表達式sed中的一個特殊字元search。因此,我們將 to 反斜杠.\.指定一個文字.

由於我們在參數中使用特殊字元sed(這裡是反斜杠\),我們需要將整個參數放在單引號''中。許多人總是在這裡使用引號,以免在使用可能對 shell 很特殊的字元(如空格)時遇到問題).

引用自:https://unix.stackexchange.com/questions/539823