在写bash shell脚本时,如果遇到要替换变量中的字符串,首先想到的就是用sed命令,比如下面的示例将变量str中的数字123替换成UUU:
$ str=hello,word,123
$ echo...,按照{parameter/pattern/string}的模式可以简单的如下替换 {parameter/pattern/string}的格式说明:
参数名 说明
parameter 变量名
pattern...://www.gnu.org/savannah-checkouts/gnu/bash/manual/bash.html#Pattern-Matching
使用示例:
## 替换所有数字为U
$ str...=hello,word,123
$ echo ${str//[0-9]/U}
hello,word,UUU
## 如果只是要替换第一个出现的数字则这样写
$ echo ${str//[0-9]/U}
#...# 如果只是要替换最后一个出现的数字则这样写
hello,word,U23
$ echo ${str/%[0-9]/U}
hello,word,12U
以上雕虫小技都来自于GNU bash shell手册