继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【九月打卡】第9天 一课玩转自动化运维全流程,轻松应对自动化运维岗

张宏江
关注TA
已关注
手记 35
粉丝 1
获赞 1

课程章节: 2章 shell编程基础:2-9 Shell中的字符串处理(课程链接:https://coding.imooc.com/lesson/549.html#mid=50185

主讲老师: 沈奇才

课程内容:shell编程实战与Linux运维基础--初始shell编程

课程收获:

1、获取字符串长度:用法:${#变量},shell里面取字符串长度意思是字符数没有字节的区别,1个汉字长度就是1):

var=xxxxxyyyyssss

echo "${#var}" ####长度是13

var2="中文长度"

echo "${#var2}" ####长度是4

2、字符串的截取(类似于sql里面的substr()函数或者python里面的切片s[2:10])

用法:${变量:起始位置:长度},起始位置从0开始数,如果不指定长度则默认一直取到最后,例如${var:2:3} 代表从第3个位置连续取3个字符

[zhang@localhost shell_with]$ var=abcdefgh      

[zhang@localhost shell_with]$ echo "${var:2:3}"

cde ###结果

[zhang@localhost shell_with]$ echo "${var:2}"  ###从第三个位置一直往后取字符串直到结束

cdefgh ###结果

3、删除某个子串,有多种写法:#、##、%、%%(均只能从头开始匹配)

#和##是从左开始删除匹配:${变量#匹配的字符串}

%和%%是从右开始删除匹配:${变量%匹配的字符串}

#和##的区别:#是最小匹配,##是最大匹配,如

[zhang@localhost shell_with]$  var=abcdefghasfasidgajslfjas

[zhang@localhost shell_with]$ echo "${var#a*j}"

slfjas

[zhang@localhost shell_with]$ echo "${var##a*j}"

as

4、替换:${变量/替换前的字符串/替换后的字符串} 或者${变量//替换前的字符串/替换后的字符串}

区别:/局部替换,之替换第一个匹配上的;//全局替换

将如果替换后的字符串置空,则就是删除的意思

http://img.mukewang.com/631fd2290001be5919000911.jpghttp://img1.mukewang.com/631fd2530001a38b17050899.jpghttp://img4.mukewang.com/631fd26c0001d23c17590895.jpg

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP