1. expr的用法
用法 |
解释 |
字符串长度 |
${#string}或expr length $string或expr “String” : ‘.*’ |
匹配字符串开头的子串长度 |
expr match “$string” ‘$substring’或expr “$string” : “$substring” 注意是从字符串第一个字符开始匹配substring的长度 |
索引 |
expr index $string $substring 在字符串$string中所匹配到的$substring第一次所出现的位置,如果substring不能整体匹配就拆成单个字母进行匹配,索引从1开始计数 |
提取子串 |
${string:position:length} 在$string中从位置$position开始提取子串,如$string是”*”或”@”,提取从$position开始的位置参数,也可以用负数,最后一个字符是-1,用负数要在:前加空格,或将负数用()括起来 ${string:position} 在$string中从位置$position开始提取$length长度的子串,position从0开始计数 expr substr $string $position $length, 在$string中从$position开始提取$length长度的子串, position从0开始计数 expr match “$string” ‘\($substring\)’或expr “$string” : ‘\($substring\)’ 从$string的开始位置提取$substring expr match “$string” ‘.*\($substring\)’或expr “$string” : ‘.*\($substring\)’ 从$string的结尾提取$substring |
截断子串 |
${string#substring} 从$string的开头位置截断最短匹配的$substring ${string##substring} 从$string的开头位置截断最长匹配的$substring ${string%substring} 从$string的结尾位置截断最短匹配的$substring ${string%%substring} 从$string的结尾位置截断最长匹配的$substring |
子串替换 |
${string/substring/replacement}使用$replacement来替换第一个匹配的$substring ${string//substring/replacement}使用$replacement来替换所有匹配的$substring ${string/#substring/replacement}如果$substring匹配$string的开头,就使用$replacement来替换$substring ${string/%substring/replacement}如$substring匹配$string的开头,就使用$replacement来替换$substring |