1. 字符串内容替换
| ${变量#关键字} | 从头开始,将匹配到的最短子串删除 (第一个匹配到的子串删除)删除第1个分隔符及其之前的内容 |
| ${变量##关键字} | 从头开始,将匹配到的最长子串删除 删除最后1个分隔符及其之前的内容 |
| ${变量%关键字} | 从尾开始,将匹配到的最短子串删除 |
| ${变量%%关键字} | 从尾开始,将匹配到的最长子串删除 |
| ${变量/旧字符串/新字符串} | 替换掉第一个匹配到的旧字符串 |
| ${变量//旧字符串/新字符串} | 替换掉所有匹配到的旧字符串 |
待处理变量: aa='/aa/bb/aa/cc'
# 从前往后找到/后第一个/,/及其前面的字符全部删除
echo ${aa#/*/} # 最后一个/是分隔符,第一个/代表从其开始,通配符*代表0到无穷多个任意字符
# bb/aa/cc
# 从前往后找到/后最后一个/,/及其前面的字符全部删除
echo ${aa##/*/}
# cc
# 从后往前找到第一个/,/及其后面的字符全部删除
echo ${aa%/*}
# /aa/bb/aa
# 从后往前找到最后一个/,/及其后面的字符全部删除
echo ${aa%%/*}
# 空
# 从前往后将第一个aa替换成AA
echo ${aa/aa/AA}
# /AA/bb/aa/cc
# 从前往后将全部aa替换成AA
echo ${aa//aa/AA}
# /AA/bb/AA/cc
2. 字符串截取
待处理字符串: aa='http://www.baidu.com/123.htm'
1. # 号截取,删除左边字符,保留右边字符。
echo ${aa#*//}
# http://www.baidu.com/123.htm
其中 aa 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符
2. ## 号截取,删除左边字符,保留右边字符。
echo ${aa##*/}</

最低0.47元/天 解锁文章
1392

被折叠的 条评论
为什么被折叠?



