Bash 中常见的字符串操作

MyString= ${#MyString} # 结果为

MyString= ${#MyString} # 结果为

MyString= $( match ) # 结果为

MyString= $( index C12) # ,注意:索引是从 开始的。

MyString= ${MyString:} # ABC123ABCabc,注意:此时索引是从 ${MyString::<span style="color: #0000ff">echo ${:<span style="color: #800080">2} # 打印出第 <span style="color: #800080">2<span style="color: #000000"> 个和后边所有的位置参数。
<span style="color: #0000ff">echo
${@:<span style="color: #800080">2
<span style="color: #000000">} # 同上。
<span style="color: #0000ff">echo
${:<span style="color: #800080">2:<span style="color: #800080">3} # 从第 <span style="color: #800080">2 个开始,连续打印 <span style="color: #800080">3 个位置参数。

MyString= $( match ) # abcABC1

MyString= ${MyString#a*<span style="color: #0000ff">echo ${MyString##a*<span style="color: #000000">C} # abc

截掉 <span style="color: #800000">'<span style="color: #800000">a<span style="color: #800000">' 到 <span style="color: #800000">'<span style="color: #800000">C<span style="color: #800000">' 之间最长的匹配字符串。

MyString= ${MyString%b*<span style="color: #0000ff">echo ${MyString%%b*<span style="color: #000000">c} # a

从 $MyString 的结尾位置截掉 <span style="color: #800000">'<span style="color: #800000">b<span style="color: #800000">' 到 <span style="color: #800000">'<span style="color: #800000">c<span style="color: #800000">' 之间最长的匹配。

MyString= ${MyString/abc/ ${MyString/ABC/<span style="color: #0000ff">echo ${MyString<span style="color: #008000">//<span style="color: #008000">abc/xxx} # xxxABC123ABCxxx
<span style="color: #0000ff">echo
${MyString<span style="color: #008000">//<span style="color: #008000">ABC/XXX} # abcXXX123XXXabc

替换所有匹配到的子串。

MyString= ${MyString/#abc/ 替换开头的 <span style="color: #0000ff">echo ${MyString/%abc/<span style="color: #000000">XXX} # abcABC123ABCXXX

用 <span style="color: #800000">'<span style="color: #800000">XXX<span style="color: #800000">' 替换结尾的 <span style="color: #800000">'<span style="color: #800000">abc<span style="color: #800000">'。

参考:

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...