shell 字符串操作
string="abcABC123ABCabc"
字符串长度:
echo ${#string} #15
echo `expr length $string` #15
索引
用法:expr index $string $substring
expr index $string "ABC" #4
提取子串
用法:${string:position}
echo ${string:3} #ABC123ABCabc
提取指定长度子串
用法:${string:position:length}
echo ${string:3:3} #ABC
从末尾提取子串
用法:
${string: -length}注意有空格
${string:(-length)}
echo ${string:(-3)} #abc
子串剔除
从左边开始截吊第一个匹配的$substring
用法:${string#*substring}
echo ${string#*abc} #ABC123ABCabc
substr="abc";echo ${string#*$substr} ##ABC123ABCabc
从左边开始截吊最后一个匹配的$substring
echo ${string##*abc} #
从右边开始截吊第一个匹配的$substring
用法:${string%substring*}
echo ${string%abc*} #abcABC123ABC
从右边开始截吊最后一个匹配的$substring
echo ${string%%abc*} #
子串替换
用$replacement来替换第一个匹配的$substring
用法:${string/substring/replacement}
echo ${string/ABC/XYZ} #abcXYZ123ABCabc
用$replacement来替换全部匹配的$substring
用法:${string//substring/replacement}
echo ${string//ABC/XYZ} #abcXYZ123XYZabc
如果$substring匹配$string的开头部分,那么就用$replacement来替换
用法:${string/#substring/replacement}
echo ${string/#abc/xyz} #xyzABC123ABCabc
如果$substring匹配$string的结尾部分,那么就用$replacement来替换
用法:${string/%substring/replacement}
echo ${string/%abc/xyz} #abcABC123ABCxyz
补充:综合编程 , 其他综合 ,