bash之字符串类型

1.4.2 字符串类型

字符串下标默认从0开始

s="12345678912333"

echo $s 输出:345678912333

echo ${s:2} 输出:345678912333 ,表示从下标为2的字符开始输出

echo ${s:2:4} 输出:3456 ,表示从下标为2的字符开始输出,并且只输出4个字符

echo ${#s} 输出:14 ,表示输出s的长度

 

# 用于字符串中表示去头留尾 ,从左到右开始匹配,匹配到第一个值之后就停止匹配

## 贪婪匹配,匹配到最后一个之后才停止匹配

echo ${s#*12} 输出: 345678 91233 (匹配到第一个12之后,开始停止匹配,输出后面的值)

echo ${s##*12} 输出:333

 

% 表示去尾留头,从右向左匹配,匹配到第一个值之后停止匹配

%% 表示贪婪匹配,匹配到最后一个符合的值之后停止匹配

echo ${s%2*} 输出:1234567891

echo ${s%%2*} 输出:1

 

/表示替换,从左到右,替换第一个指定值

//表示全部替换,从左到右,替换指定替换的所有制

echo ${s/12/*} 输出:*345678912333

echo ${s//12/*} 输出:*3456789*333

 

加双引号表示保留字符串前面的字符

示:b="hello xiaoyu"

echo ${b#*lo} 输出:xiaoyu (x前面是没有空格的)

echo "${b#*lo}" 输出: xiaoyu(x前面有空格的)

 

posted @ 2019-07-09 20:52  旧时光里的小鱼儿  阅读(329)  评论(0编辑  收藏  举报