Bash
如何通過第三個 .(dot) 分隔符拆分字元串
我做了一些研究,我可以用’。‘分割字元串。但我唯一要替換的是第三個“。”,版本號實際上是可變的,所以我該如何替換/拆分?
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 很特殊的字元(如空格)時遇到問題).