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
如上所述,第一个字符串 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
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。