Bash 中的字串替換
Nilesh Katuwal
2023年1月30日
2022年5月11日
Bash 允許我們呼叫其他程式,並且通過指定必要的輸入和輸出,我們可以生成任何結果。本文將介紹如何用另一個字串替換一個子字串。
在 Bash 中用一個子字串替換另一個字串
下面的命令將用替換字串替換髮現的與從字串的第一個字元開始的子字串匹配的第一個字串。
${string/substring/replacement}
讓我們看一個例子。
$ text="I am learning linux and linux"
$ reptext="bash"
$ echo "${text/linux/"$reptext"}''
輸出:
I am learning bash and linux
如上所述,第一個字串 linux
被 bash
替換,而另一個保持不變。
將整個字串替換為子字串
我們使用下面的命令將等於子字串的整個字串替換為替換字串。
${string//substring/replacement}
讓我們看一個例子:
$ text="I am learning linux and linux"
$ reptext="bash"
$ echo "${text//linux/"$reptext"}"
輸出:
I am learning bash and bash
現在有兩個斜槓 (//)
而不是一個 (/)
。在輸出中,我們可以看到上述命令替換了所有等於替換字串的子字串。
替換 Bash 中字串中檢測到的最後一個子字串
我們將使用下面的命令將字串中檢測到的最後一個子字串替換為替換字串。
${string/%substring/replacement}
讓我們看一個例子:
$ text="I am learning linux and linux"
$ reptext="bash"
$ echo "${text/%linux/"$reptext"}"
輸出:
I am learning linux and bash