【Shell脚本】变量的高级用法

一、变量的替换

(1)匹配并删除

${变量#匹配规则} :从头开始匹配,最短删除

${变量##匹配规则}:从头开始匹配,最长删除

image.png

${变量%匹配规则}:从尾开始匹配,最短删除

${变量%%匹配规则}:从尾开始匹配,最长删除

image.png

${变量/旧字符串/新字符串}: 替换字符串,最短替换

${变量//旧字符串/新字符串} :替换字符串,全部替换

image.png


二、字符串的处理

(1)计算字符串的长度

方法一:${#str}

方法二:expr length "$str"  说明:str有空格的话必须加双引号

image.png

(2)获取字符在字符串中索引位置(拆分子串字符中一个个匹配,找到即返回)

expr index "$str" substr

image.png

(3)计算子串长度(从头开始匹配才能找到)

expr match "$string" substr

image.png

(4)抽取子串

方法一:${str:position} 从str中的position开始 (索引下标从0开始)

image.png

方法二:${str:position:length} 从positon开始,匹配长度为length

image.png

方法三:${str: -position}从右边开始(负号前面有空格)

image.png

方法四:expr substr "$str" position length 从positon开始,匹配长度为length (索引下标从1开始)

image.png




猜你喜欢

转载自blog.51cto.com/11926720/2497907
今日推荐