Shell技能树---字符串替换

  • 功能介绍

       字符串替换将长的字符串中子串A替换成子串B。

  • 语法格式
序号 格式 说明
1 ${string/substring/replacement} 使用$replacement, 来代替第一个匹配的$substring
2 ${string//substring/replacement} 使用$replacement, 代替所有匹配的$substring
3 ${string/#substring/replacement}     如果$string的前缀匹配$substring, 那么就用$replacement来代替匹配到的$substring
4 ${string/%substring/replacement} 如果$string的后缀匹配$substring, 那么就用$replacement来代替匹配到的$substring
  •   实例
1. ${string/substring/replacement}

    使用$replacement, 来代替第一个匹配的$substring

renhl@verygood:~$ var="AB12CD12EF12GH"; echo ${var/12/xy} #左侧开始第一次匹配的12替换成xy
ABxyCD12EF12GH
renhl@verygood:~$
2. ${string//substring/replacement}

    使用$replacement, 代替所有匹配的$substring

renhl@verygood:~$ var="AB12CD12EF12GH"; echo ${var//12/xy} #字符串中所有12子串替换成xy
ABxyCDxyEFxyGH
renhl@verygood:~$ str="C:\Windows\Media\Raga"; echo ${str//\\/\/}; # 字符串\替换成/ 注意 \\ 表示\; \/表示/
C:/Windows/Media/Raga
3. ${string/#substring/replacement}        

   如果$string的前缀匹配$substring, 那么就用$replacement来代替匹配到的$substring

renhl@verygood:~$ var="AB12AB12AB"; echo ${var/#AB/xy} # 只将前缀中匹配AB替换成xy
xy12AB12AB
4. ${string/%substring/replacement}    

   如果$string的后缀匹配$substring, 那么就用$replacement来代替匹配到的$substring

renhl@verygood:~$ var="AB12AB12AB"; echo ${var/%AB/xy} # 只将后缀中匹配AB替换成xy
AB12AB12xy

你可能感兴趣的:(shell详细教程,linux,运维,服务器)