Bash 中的字串替換

Nilesh Katuwal 2023年1月30日 2022年5月11日
  1. 在 Bash 中用一個子字串替換另一個字串
  2. 將整個字串替換為子字串
  3. 替換 Bash 中字串中檢測到的最後一個子字串
Bash 中的字串替換

Bash 允許我們呼叫其他程式,並且通過指定必要的輸入和輸出,我們可以生成任何結果。本文將介紹如何用另一個字串替換一個子字串。

在 Bash 中用一個子字串替換另一個字串

下面的命令將用替換字串替換髮現的與從字串的第一個字元開始的子字串匹配的第一個字串。

${string/substring/replacement}

讓我們看一個例子。

$ text="I am learning linux and linux"

$ reptext="bash"

$ echo "${text/linux/"$reptext"}''

輸出:

I am learning bash and linux

如上所述,第一個字串 linuxbash 替換,而另一個保持不變。

將整個字串替換為子字串

我們使用下面的命令將等於子字串的整個字串替換為替換字串。

${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